https://school.programmers.co.kr/learn/courses/30/lessons/17677 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2018 KAKAO BLIND RECRUITMENT 1차 Level 2 문제다. HashMap을 사용해 간단히 구현했다. str1, str2의 집합을 HashMap으로 각각 생성한다. map에 자른 문자열을 key로, 문자열 출현횟수를 value로 저장한다. 문자열을 자르고 map에 저장하는 함수 stringCut을 만들었다. String의 문자 하나씩 탐색해서 현재 문자와 그 다음 문자가 알파벳..
https://school.programmers.co.kr/learn/courses/30/lessons/17679 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2018 KAKAO BLIND RECRUITMENT 1차 Level 2 문제다. 단순히 2차원 배열을 다루는 구현 문제다. while(true)로 무한루프를 돌면서, while문을 한번 돌 때마다 삭제할 2x2 블록을 찾는다. 만약에 삭제할 블록이 없다면 while을 빠져나오는 식이다. 삭제할 블록이 없을 때까지 반복하는 것이다. 먼저 String 1차원 배열 board를 편하게 접근하기 위해 문..
https://school.programmers.co.kr/learn/courses/30/lessons/17680 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2018 KAKAO BLIND RECRUITMENT 1차 Level 2 문제다. LRU의 지식만 있다면 어렵지 않게 풀 수 있다. 처음엔 우선순위 큐로 풀었는데, 값이 있는지 검사하기 위해 큐의 값을 하나하나씩 탐색하는 과정에서 시간 초과가 발생한 것 같다. LRU를 구글링 해보니 LinkedHashMap으로 자주 구현하는 것 같아 이걸로 구현했다. ArrayList도 인덱스가 아닌 값으로 rem..
https://school.programmers.co.kr/learn/courses/30/lessons/17681 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2018 KAKAO BLIND RECRUITMENT 1차 Level 1 문제다. 라는 문제 조건을 보면 바로 비트 연산 중 OR 연산을 떠올릴 수 있다. arr1[]과 arr2[]를 비트 연산 후 toBinaryString에 넣어 이진수 형태의..
https://school.programmers.co.kr/learn/courses/30/lessons/17682 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2018 KAKAO BLIND RECRUITMENT 1차 Level 1 문제다. 점수, 보너스, 옵션 순서대로 문자열이 구성되어 있으므로 for문을 통해 문자열의 값 하나하나 탐색하면 쉽게 풀 수 있다. 점수가 두자리(10)인 경우도 있으므로 StringBuilder를 사용해 1 다음 0을 append할 수 있도록 했다. 그리고 보너스를 만나면 점수가 다 StringBuilder에 저장되어 있는 ..
https://school.programmers.co.kr/learn/courses/30/lessons/72415 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2021 KAKAO BLIND RECRUITMENT Level 3 문제다. 접근 -> 브루트포스, DFS, BFS 카드를 뽑는 순서의 모든 경우를 DFS로 완전탐색한다. map에 key를 카드번호로, value에는 카드 두개의 위치가 저장되어 있는 [2][2] 크기의 2차원 배열로 담는다. 그리고 DFS를 통해 map에 저장된 카드 위치를 순서대로, 순서 반대로 한번씩 수행한다. 카드의 갯수만큼 ..
https://school.programmers.co.kr/learn/courses/30/lessons/60059 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2020 KAKAO BLIND RECRUITMENT Level 3 문제다. 열쇠의 일부분만 사용해서 자물쇠를 열 수도 있으므로 열쇠는 (자물쇠의 크기 + 열쇠의 크기 - 1) 만큼 자유롭게 움직일 수 있어야 한다. 열쇠를 움직이며 자물쇠를 열 수 있는지 확인할 배열 board를 만든다. 배열 가운데에 lock을 두고, 상하좌우로 (열쇠의 크기 - 1) 만큼 열쇠가 이동할 수 있다. (최소 한 부분..
https://school.programmers.co.kr/learn/courses/30/lessons/42890 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2019 KAKAO BLIND RECRUITMENT Level 2 문제다. 접근 -> 백트래킹, HashSet, 구현 알고리즘 순서 1. DFS로 가능한 모든 애트리뷰트의 조합을 구한다. 2. 조합할 때마다 그 애트리뷰트의 조합이 유일성을 만족하는지 판별한다. 만족한다면 uniKey list에 넣는다. 3. uniKey에 들어있는 애트리뷰트 조합을 하나씩 꺼내 최소성을 만족하는지 판별한다. 만족한..