https://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코딩테스트 고득점 Kit의 해시 Level 1 문제다. 두 배열을 정렬한 후 for문으로 같은 인덱스에 접근한 값이 다를 때 answer에 대입한다. 또한 participant 배열의 사이즈가 completion 배열의 사이즈 보다 1 크므로 completion 배열의 사이즈가 넘어갈 때까지 다른 값을 찾지 못한다면 마지막 값이 완주하지 못한 선수이므로 answer에 마지막 값을 대입한다. imp..
https://school.programmers.co.kr/learn/courses/30/lessons/118668 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2020 KAKAO TECH INTERNSHIP Level 3 문제다. 맨 처음의 알고력과 코딩력을 알고 있기 때문에 bottom-up dp를 통해 구현했다. 레벨 3치고는 꽤나 단순하게 접근 가능한 문제인 것 같다. 2차원 배열을 통해 알고력과 코딩력에 도달하기 위해 필요한 시간을 저장한다. 예를 들어 dp[10][20]에 2가 저장되어 있다면 알고력 10, 코딩력 20에 도달하기까지 2초의 ..
https://school.programmers.co.kr/learn/courses/30/lessons/118667 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2022 KAKAO TECH INTERNSHIP Level 2 문제다. 처음엔 int[]에 담겨있는 값을 실제 Queue에 담아 dfs로 하나씩 빼고 저장하려고 했는데, 입출력 예시 #2와 같이 queue1에서 queue2으로부터 받은 원소를 다시 queue2로 보내는 경우는 해결하지 못했다. 그래서 투포인터를 이용해 구현했고, 입출력 예시 #2와 같은 상황을 처리하기 위해 queue1과 que..
https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2022 KAKAO TECH INTERNSHIP의 Level 1 문제다. 문제 자체는 어렵진 않은데 문제를 이해하는데 시간을 꽤나 썼던 것 같다. 먼저 성격 유형과 성격 유형의 점수를 나타내는 Node 클래스를 생성하고, 점수 0을 가지는 모든 성격 유형의 Node를 ArrayList에 저장한다. 그리고 choice에서 어떤 값을 선택했는지에 따라 성격 유형 Node의 점수를 더한다. 이 때 각..
https://school.programmers.co.kr/learn/courses/30/lessons/81302 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2021 카카오 채용연계형 인턴십 Level 2 문제다. dfs나 bfs로 접근할 수 있지만 나는 배열을 끝까지 탐색하며 응시자인 경우 거리두기를 지켰는지 확인했다. 거리두기를 위반한 경우는 1. 바로 옆이 응시자인 경우 2. 대각선이 응시자고 대각선 사이에 테이블이 있는 경우 3. 맨해튼 거리 2에 응시자가 있고 그 사이에 테이블이 있는 경우 이렇게 세가지기 때문에 세가지 경우에 해당하는 배열을..
https://school.programmers.co.kr/learn/courses/30/lessons/81301 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2021 카카오 채용연계형 인턴십 Level 1 문제다. HashMap의 key를 문자열 영단어로, value를 숫자로 저장했다. 그리고 문자열을 하나씩 탐색해 영단어를 숫자로 치환했다. 지금 코드도 직관적이지만 replaceAll을 사용해도 좋을 것 같다. import java.util.HashMap; class Solution { public int solution(String s) { Has..
https://school.programmers.co.kr/learn/courses/30/lessons/67259 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2020 카카오 인턴십 Level 3 문제다. 처음에는 2차원 배열에 최소 값을 저장해나가는 BFS로 구현했는데, 정확도가 떨어졌다. 2차원 배열+ bfs로 풀었을 때의 반례는 아래와 같다. {{0, 0, 0, 0, 0, 0, 0, 0}, {1, 0, 1, 1, 1, 1, 1, 0}, {1, 0, 0, 1, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 1, 1, 1}, {1, 1, 1, 1..
https://school.programmers.co.kr/learn/courses/30/lessons/67258 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2020 카카오 인턴십 Level 3 문제다. 1차원 배열이 주어지고 가장 짧은 구간을 찾는 문제기 때문에 바로 투포인트로 접근을 했다. 처음엔 HashMap이 아니라 배열을 통해 구간의 값들을 저장하고, for문을 통해 모든 종류의 보석이 담겨있는지 확인했기 때문에 시간 초과가 났다. 중복을 허용하기 않는 HashMap의 value값을 보석의 갯수로 저장하는게 포인트인 것 같다. 어떻게 하면 효..