반응형 분류 전체보기162 BOJ 1074 - Z / C++ 문제 링크 : https://www.acmicpc.net/problem/1074 1074번: Z 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. N > 1인 경우, 배열을 www.acmicpc.net 풀이 2^n x 2^n 배열을 직접 그리려하면 시간 제한에 걸려 풀 수 없다. 따라서, 배열을 2^(n-1) x 2^(n-1) x 4로 네 구역으로 나누고 차례대로 Z 모양의 순서로 방문하면 된다. 예를 들어, 배열이 위의 그림과 같이 있을 때 r=2, c=1에 위치한 값을 구하려고 한다. 현재 n=2이므로 2^2 x 2^2 배열이다. 이를 네 구역으로 나누면 1구역(0~3.. 2022. 4. 21. BOJ 16928 - 뱀과 사다리 게임 / C++ 문제 링크 : https://www.acmicpc.net/problem/16928 16928번: 뱀과 사다리 게임 첫째 줄에 게임판에 있는 사다리의 수 N(1 ≤ N ≤ 15)과 뱀의 수 M(1 ≤ M ≤ 15)이 주어진다. 둘째 줄부터 N개의 줄에는 사다리의 정보를 의미하는 x, y (x < y)가 주어진다. x번 칸에 도착하면, y번 칸으 www.acmicpc.net 풀이 입력 받을 때, 뱀과 사다리를 굳이 나누어 입력받을 필요 없이 하나의 지름길로 취급하여 n+m만큼 입력받는다. 지름길 변수 shortcut[a] = b의 의미는 a로 들어가면 b로 나오게 된다는 의미이다. 다음으로, BFS를 통해 시작점 1 카운트 0부터 시작하여 1~6의 주사위에 따른 탐색을 진행한다. 도중에 지름길을 만나면 지름.. 2022. 4. 18. BOJ 18870 - 좌표 압축 / C++ 문제 링크 : https://www.acmicpc.net/problem/18870 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌 www.acmicpc.net 풀이 입력받은 배열을 정렬한 뒤 0부터 차례대로 우선순위를 매긴다. 중복되는 수들은 건너뛴다. map 자료구조에 key 값은 수(좌표), value는 우선순위를 넣어준 다음 원래 배열의 순서대로 우선순위를 알맞게 출력한다. 코드 #include using namespace std; int main(){ ios_base::sync_wi.. 2022. 4. 17. 프로그래머스 - 오픈 채팅방 / C++ 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42888 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 풀이 record 배열의 문자열들을 단어별로 파싱한 뒤 unordered_map을 이용하여 uid와 닉네임을 갱신해준다. 갱신이 끝나면 다시 record 배열을 돌며 Enter 또는 Leave에 따라 문자열을 생성하고 정답 배열에 넣어준다. 코드 #include using namespace std; vector solution(vector reco.. 2022. 4. 16. 이전 1 ··· 5 6 7 8 9 10 11 ··· 41 다음 반응형