분류 전체보기 291

(미완) 삼성 코테 기출 (마법의 숲 탐색, 루돌프의 반란, 미로)

삼성 코딩테스트 준비 방법1. 코드트리2. SW Expert Academy 먼저 코드트리에 기출들이 다 나와있으니 기출부터 여러 번 풀어보고, SW Expert Academy와 거의 동일하게 입출력이 주어지므로 여기에서 어떤 방식으로 시험이 이루어지는지 테스트 해보고 가는 게 좋다.  삼성 코테는 빡구현의 문제들로 이루어져 있다보니 기출을 풀다보면 반복되는 유형들이 있어서 어떤 식으로 풀어야하는 지 감이 올 때가 있다. (회전, 사용자 클래스 등..)  근데 막상 시험장 가면 너무 코드가 길고 어려워서 내 코드에 내가 엉킴ㅠ  또, 삼성은 코테를 푸는 시간도 채점 기준에 있기 때문에 문제를 미리 열어보지 않고, 최대한 빠르게 제출하고 미련 없이 건들지 않는게 더 좋다고 한다.  https://www.co..

[JAVA] SWEA | 2382. [모의 SW 역량테스트] 미생물 격리

문제https://swexpertacademy.com/main/solvingProblem/solvingProblem.do SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com접근삼성은 이런 빡구현 문제들을 왜이렇게 좋아하는 걸까...!  삼성 코테 1주일간 준비했던 경험이 있어서 빡구현 문제의 패턴은 갈피가 잡히는 데 막상 시험장에 가면 잔실수도 많고 테스트케이스가 너무 많아서 내가 내 코드에서 허우적 거린적이 많은 것 같다.삼성 코테의 좋은 점 = 쉽다(?) 알고리즘이 아닌 정말 쌩구현,  나쁜점 = 근데 어렵다 빡구현에서는 항상 이렇게 사용자 클래스를 정의하는 경우가 많다.Comparable을 상속해야 list에서 ..

[JAVA] SWEA | 1213. [S/W 문제해결 기본] 3일차 - String

문제https://swexpertacademy.com/main/solvingProblem/solvingProblem.do SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 접근주어진 문자열을 처음부터 탐색을 시작하는 데, 만약 찾으려는 문자열 x의 시작점이 같으면 check 함수가 실행되어 찾는 문자열이 완전하게 존재하는 지 확인한다.  check 함수는 아래와 같다.  public static boolean check(String x, String s, int start) { if(s.length()  여기에서 2번째 줄 if문으로 길이를 check 해주지 않는다면 아마 3번째 testcase가 통과하지 않을 거..

[JAVA] SWEA | 1204. [S/W 문제해결 기본] 1일차 - 최빈수 구하기

문제https://swexpertacademy.com/main/solvingProblem/solvingProblem.do SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.comvalue값으로 HashMap 정렬하기List keyset = new ArrayList(map.keySet()); keyset.sort(new Comparator() { @Override public int compare(Integer o1, Integer o2) { return map.get(o1) - map.get(o2); } }); map의 keySet으로 list 만들어주고, 이걸로 Comparator을 사용해서 map의 valu..

[프로그래머스 | Java Lv.3] 입국 심사

문제https://school.programmers.co.kr/learn/courses/30/lessons/43238 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr접근최근 코테에서 이분 탐색이 나왔었는데 완전 탐색으로 풀어버린 이슈범위가 비정상적으로 크다면 꼭 이분 탐색으로 접근해보자 이슈right을 초기화 해 줄 때 (long)으로 우변을 타입 캐스팅하지 않으면 여러 테스트 케이스에서 걸린다.  long left = 0; long right = (long) n * times[times.length-1]; 나머지는 일반적인 이분 탐색 코드로 풀었다. 최종 코..

[프로그래머스 | Java Lv.3] 단어 변환

문제 https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 설명두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다.1. 한 번에 한 개의 알파벳만 바꿀 수 있습니다.2. words에 있는 단어로만 변환할 수 있습니다. 예를 들어 begin이 "hit", target가 "cog", words가 ["hot","dot","d..

[프로그래머스 | Java Lv.3] [2019 카카오 개발자 겨울 인턴십] 징검다리 건너기

문제https://school.programmers.co.kr/learn/courses/30/lessons/64062?language=java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr접근- 징검다리는 일렬로 놓여 있고 각 징검다리의 디딤돌에는 모두 숫자가 적혀 있으며 디딤돌의 숫자는 한 번 밟을 때마다 1씩 줄어듭니다.- 디딤돌의 숫자가 0이 되면 더 이상 밟을 수 없으며 이때는 그 다음 디딤돌로 한번에 여러 칸을 건너 뛸 수 있습니다.- 단, 다음으로 밟을 수 있는 디딤돌이 여러 개인 경우 무조건 가장 가까운 디딤돌로만 건너뛸 수 있습니다. 첫번째 코..

[프로그래머스 | Java Lv.2] [2021 카카오 채용연계형 인턴십] - 거리두기 확인하기

문제https://school.programmers.co.kr/learn/courses/30/lessons/81302?language=java#fn1 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 최종 코드import java.util.LinkedList;import java.util.Queue;class Solution { static int dx[] = {-1, 1, 0, 0}; static int dy[] = {0, 0, -1, 1}; public static boolean bfs(int x, int y, String[] p) { ..

[프로그래머스 | Java Lv.2] 무인도 여행

문제https://school.programmers.co.kr/learn/courses/30/lessons/154540?language=java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  일반적인 DFS 문제에 속한다. 상하좌우로 움직일 수 있고, 연결되어 있는 부분의 합을 담은 배열을 반환해주면 된다.    최종 코드 package week19.baek.september24.baek;import java.util.ArrayList;import java.util.Collections;import java.util.List;public class P154..

[프로그래머스 | Java Lv.2] [3차] 방금그곡 (2018 KAKAO BLIND RECRUITMENT)

문제https://school.programmers.co.kr/learn/courses/30/lessons/17683 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr    ++ 34번 테스트케이스만 통과 안되는 경우  B#은 주어지지 않았는데.. 34번 테스트 케이스에는 B#이 주어졌나보다 (이유는 모름)밑에 추가해주면 통과 될 것임code = code.replaceAll("B#", "b");최종 코드  package week18.baek;import java.util.Arrays;public class P17683 { public static Strin..