시뮬레이션

📖 문제 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 💡 풀이 방식 • 시뮬레이션 숫자 1부터 N*N까지 1. 해당 숫자의 위치를 찾고, 2. 해당 숫자가 있는 칸 주변의 8방향을 탐색해 가장 큰 숫자가 있는 칸의 위치를 찾는다. 3. 2에서 구한 위치와 1에서 구한 위치의 값을 swap한다. 🔺 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 5..
📖 문제 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 💡 풀이 방식 • 시뮬레이션, 재귀 1. 바람이 처음 분 r번째 행을 해당 방향으로 shift 한다. 2. 바로 윗 줄과 아랫 줄의 같은 열에서 같은 값이 존재한다면, 그 줄은 현재 바람 방향의 반대 방향으로 shift해준다. (재귀) > 시간 복잡도 : O(NMQ) 💥 유의사항 격자 범위 벗어나지 않도록 신경쓰기,, 🔺 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35..
📖 문제 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 💡 풀이 방식 • DFS 해당 점을 포함해 3개를 뽑는 DFS 함수를 작성한다. 점들의 합을 변수로 가지고 다니며 3개를 뽑았을 때 이 값과 최댓값을 비교해 더 큰 값으로 최댓값을 갱신한다. 🔺 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59..
📖 문제  22858번: 원상 복구 (small)$P_1, P_2, \cdots , P_N$의 수가 적혀 있는 $N$개의 카드가 있다. 1부터 N까지 수가 하나씩 존재하는 수열 $D_1, D_2, \cdots , D_i , \cdots , D_N$이 있다. 이때 각 $i$에 대해 $D_i$번째 카드를 $i$번째로 가져오는www.acmicpc.net  💡  풀이 방식• 구현, 시뮬레이션. 임의의 배열을 생성하고, 그 다음 k번 섞은 배열의 값을 임의의 배열에 값으로 넣는다.. 원래 배열에 값을 넣는다.▷ 배열 D에서 {4,3,1,2,5}는 1번째 카드는 4번째로 옮겨야하고, 2번째 카드는 3번째로 옮겨야하고, 3번째 카드는 1번째로 옮겨야 한다. 나머지도 이렇게 진행 🔺 코드12345678910111..
📖 문제 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 💡 풀이 방식 • 구현, 시뮬레이션 1. 3 *N 크기의 2차원 배열을 입력받는다. 2. 각 줄마다 맨 오른쪽 값을 따로 저장해두고, 각 줄의 모든 값을 오른쪽으로 민다. 3. 각 줄의 맨 왼쪽의 빈 칸에 따로 저장해두었던 맨 오른쪽 값들을 맞는 자리에 넣는다. 4. 과정 2,3을 T번 반복한다. 4. 완성된 2차원 배열을 출력한다. 💥 유의사항 - 양쪽 끝에 있는 값 유실되지 않도록 따로 저장해 처리해야 한다. - 가장 끝 칸부터 앞으로 오며 순서대로 채워줘야 정보 유실을 막는다. 🔺 코드 1..
📖 문제 20436번: ZOAC 3 첫 번째 줄에는 두 알파벳 소문자 sL, sR이 주어진다. sL, sR은 각각 왼손 검지손가락, 오른손 검지손가락의 처음 위치이다. 그 다음 줄에는 알파벳 소문자로 구성된 문자열이 주어진다. 문자열의 www.acmicpc.net 💡 풀이 방식 • 구현 & 시뮬레이션 1. 키보드 객체 배열을 만든다. Keyboard(키보드 문자, 어떤 손인지, 행 위치, 열 위치) 2. 두 문자를 입력받는다. 😱주의할 점! 입력받은 두 문자가 무조건 (왼쪽 자판에 있는 값, 오른쪽 자판에 있는 값) 순서로 있는 게 아니므로, 어느 쪽에 있는 문자인지 확인해 두 검지의 위치값을 저장한다. 3. 입력받은 문자열을 돌며 택시 거리를 찾는다. 왼쪽 자판에 있는 문자인 경우, 현재까지 걸린 시간..
📖 문제 2578번: 빙고 첫째 줄부터 다섯째 줄까지 빙고판에 쓰여진 수가 가장 위 가로줄부터 차례대로 한 줄에 다섯 개씩 빈 칸을 사이에 두고 주어진다. 여섯째 줄부터 열째 줄까지 사회자가 부르는 수가 차례대로 www.acmicpc.net 💡 풀이 방식 • 구현 & 시뮬레이션 1. 번호를 2차원 배열에 입력받아 담는다. 2. 사회자가 부르는 번호를 입력받는다. 입력받고 나서 해당 번호를 2차원 배열에서 찾고, 해당 칸의 위치를 0으로 바꾼다. (방문 표시) 3. 총 4가지 측면에서 빙고가 몇 개인지 확인한다. (행, 열, 왼쪽 위에서 오른쪽 아래 방향으로 찾는 대각선, 오른쪽 위에서 왼쪽 아래 방향으로 찾는 대각선) - 빙고의 갯수가 3개 이상이 되었다면, 그 때의 턴 수를 출력하고 종료한다. - 그렇..
🔺 문제 14503번: 로봇 청소기 첫째 줄에 방의 크기 $N$과 $M$이 입력된다. $(3 \le N, M \le 50)$ 둘째 줄에 처음에 로봇 청소기가 있는 칸의 좌표 $(r, c)$와 처음에 로봇 청소기가 바라보는 방향 $d$가 입력된다. $d$가 $0$인 경우 북쪽 www.acmicpc.net 🧩 해결 아이디어 • 구현 & 시뮬레이션 1. 현재 칸의 주변 4칸 中 청소 안 된 빈 칸이 있는 경우, 반시계로 90도 회전하면서 주변을 청소할 수 있는지 확인한다. - 청소 안 된 곳이 있으면, cnt + 1하고 현재 좌표에서 dfs를 수행한다. for(int i = 0 ; i < 4 ; i++) { dir = (dir + 3) % 4;// 반시계로 90도 회전 int nx = x + dx[dir]; ..
🔺 문제 20546번: 🐜 기적의 매매법 🐜 1월 14일 기준 준현이의 자산이 더 크다면 "BNP"를, 성민이의 자산이 더 크다면 "TIMING"을 출력한다. 둘의 자산이 같다면 "SAMESAME"을 출력한다. 모든 결과 따옴표를 제외하고 출력한다. www.acmicpc.net 🧩 해결 아이디어 • 구현 [준현] 그리디를 활용해 남은 현금과 보유 주식 수를 구한다. [성민] 3일 연속 가격이 전일 대비 상승 시, 그 다음 날에 다 판다. (전량 매수) " 하락 시, 그 다음 날에 다 산다. (전량 매도) 둘 중 누가 더 높은 수익률을 내는지 계산하고, 비교해 정답을 출력한다. → 수익률 계산 : 최종 보유 현금 + 1.14 주가 * 최종 보유 주식 수 💥 유의사항 3일 연속 상승세/하락세인 경우, 3일째..
imname1am
'시뮬레이션' 태그의 글 목록 (5 Page)