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에 들어있는 애트리뷰트 조합을 하나씩 꺼내 최소성을 만족하는지 판별한다. 만족한..
https://school.programmers.co.kr/learn/courses/30/lessons/42888 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2019 KAKAO BLIND RECRUITMENT Level 2 문제다. Level 1만큼이나 간단한 문제다. key로 사용자 아이디가 들어가고, value로 닉네임이 저장되는 해시맵을 통해 풀었다. 채팅방에 들어온 후 닉네임을 한번도 바꾸지 않거나, 채팅방에 들어온 후 닉네임을 바꾸는 사용자가 있을 수 있으므로 주어진 record의 가장 첫 단어가 Enter이거나 Change인 경우에 map에..
https://school.programmers.co.kr/learn/courses/30/lessons/42889 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2019 KAKAO BLIND RECRUITMENT Level 1 문제다. 스테이지별로 몇명의 사용자가 도전했는지(fail[i][1]), 몇명의 사용자가 아직 클리어하지 못했는지(users[i]) 저장할 배열을 만든다. 현재 어떤 사용자가 4 스테이지에 있다면, 이미 1, 2, 3 스테이지를 거쳐간 것이다. 이를 활용해서 stages의 원소 하나하나 탐색해 가며 fail 배열의 1~stages[i..
https://school.programmers.co.kr/learn/courses/30/lessons/60063 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2020 KAKAO BLIND RECRUITMENT Level 3 문제다. BFS로 최단 거리를 찾는 문제와 동일한 형태다. 다만 회전하는 케이스가 다양해서 구현하는게 좀 복잡하다. 로봇이 가로로 있을 때는 차지하는 두칸 중 왼쪽 칸을 기준으로, 세로로 있을 때는 차지하는 두칸 중 위쪽 칸을 기준으로 보고 visit를 확인하고 변경해줄 때도 기준이 되는 칸만 검사했다. 똑같은 칸을 지나가더라도 가..