구현

📖 문제 1969번: DNA DNA란 어떤 유전물질을 구성하는 분자이다. 이 DNA는 서로 다른 4가지의 뉴클레오티드로 이루어져 있다(Adenine, Thymine, Guanine, Cytosine). 우리는 어떤 DNA의 물질을 표현할 때, 이 DNA를 이루는 뉴클레오 www.acmicpc.net 💡 풀이 방식 • 그리디 . k번째 문자를 선택할 때 k번째 문자들 중 가장 자주 나온 문자를 새로운 문자열의 k번째로 지정하며 문자열을 완성한다. 💥 유의사항 Hamming Distance의 합 구하는 식 : (N - k번째 문자열의 최대 등장 횟수) 한 값을 누적해 저장한다. 🔺 코드 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..
📖 문제 2167번: 2차원 배열의 합 첫째 줄에 배열의 크기 N, M(1 ≤ N, M ≤ 300)이 주어진다. 다음 N개의 줄에는 M개의 정수로 배열이 주어진다. 배열에 포함되어 있는 수는 절댓값이 10,000보다 작거나 같은 정수이다. 그 다음 줄에는 www.acmicpc.net 💡 풀이 방식 • (i,j) ~ (x,y) 구간에 대한 누적합을 구한다. 1) 초기 2차원 누적합 행렬은 다음과 같이 채운다. dp[i][j] = dp[i][j - 1] + dp[i - 1][j] - dp[i - 1][j - 1] + arr[i][j]; 2) 부분 행렬의 값은 다음과 같이 구한다. dp[x][y] - dp[x][j - 1] - dp[i - 1][y] + dp[i - 1][j - 1] 💥 유의사항 dp[N][M..
📖 문제 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 💡 풀이 방식 • 구현, 시뮬레이션 1. 먼지 비율을 배열로 미리 저장해두기 (추가될 먼지양 계산용) 2. 방향이 왼쪽/오른쪽으로 바꼈을 때, 동일한 방향에 대해 이동거리 +1 (단, 마지막 부분은 그렇지 않음) if(dir == 0 || dir == 2) { moveNum++; } 3. 이동하면서 먼지 비율 배열 값을 활용해 현재 위치의 먼지양에 각 비율을 곱함 (최종적으로 남은 먼지양을 따로 계산해 처리해야 함) 💥 유의사항 마지막 부분 별도 처리 ! 🔺 코드 1 2 3 4 5 6 7 8 9..
📖 문제  17276번: 배열 돌리기각 테스트 케이스에 대해 회전 연산을 마친 후 배열의 상태를 출력한다. n줄에 걸쳐 각 줄에 n개의 정수를 공백으로 구분하여 출력한다. www.acmicpc.net  💡  풀이 방식• 구현 지문에서 알려준대로 그대로 구현하면 되더라,,, 1. 주대각선 \ (i, i)을 가운데 열 - (i, n / 2)로 옮긴다.2. 가운데 열 | (i, n /2)을 부대각선 / (n - i, i)으로 옮긴다.3. 부대각선 / (n - i, i)을 가운데 행 - (n/2, i)으로 옮긴다.4. 가운데 행 - (n/2, i)을 주대각선 \ (i, i)으로 옮긴다.  🔺 코드12345678910111213141516171819202122232425262728293031323334353..
📖 문제  1244번: 스위치 켜고 끄기첫째 줄에는 스위치 개수가 주어진다. 스위치 개수는 100 이하인 양의 정수이다. 둘째 줄에는 각 스위치의 상태가 주어진다. 켜져 있으면 1, 꺼져있으면 0이라고 표시하고 사이에 빈칸이 하나씩www.acmicpc.net  💡  풀이 방식• 구현, 시뮬레이션👨 남자인 경우스위치 배열 switches 에서 인덱스가 입력받은 수의 배수인 칸의 상태를 변경한다. 👩 여자인 경우현재 칸은 무조건 상태를 변경한다.현재 칸의 왼쪽 위치 l과 현재 칸의 오른쪽 위치 r을 잡는다. (투 포인터)l과 r이 배열의 크기를 벗어나지 않는 동안 반복문을 수행한다. (while문 사용)만약 좌우 두 칸이 대칭인 경우 (swithces[l] == switches[r]), 좌우 두 칸을..
📖 문제  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..
📖 문제 2615번: 오목 오목은 바둑판에 검은 바둑알과 흰 바둑알을 교대로 놓아서 겨루는 게임이다. 바둑판에는 19개의 가로줄과 19개의 세로줄이 그려져 있는데 가로줄은 위에서부터 아래로 1번, 2번, ... ,19번의 번호 www.acmicpc.net 💡 풀이 방식 • 구현 (브루트포스) 1. 완전탐색으로 모든 지점에서 4방향에 대해 1) 오목이 되었는지, 2) 오목이 되었다면 어떤 색 돌로 오목을 만들었는지, 3)가장 왼쪽에 있는 점은 무엇인지 검은 돌과 흰 돌 좌표에 좌표를 저장하며 진행한다. - 가로 방향 확인 - 세로 방향 확인 - 대각선1 방향 ( ↘ )확인 - 대각선2 방향( ↙ )확인 2. 값을 입력받은 검은 돌 좌표 리스트와 흰 돌 좌표 리스트를 행 좌표 오름차순으로 정렬한다. (행 좌..
📖 문제 21608번: 상어 초등학교 상어 초등학교에는 교실이 하나 있고, 교실은 N×N 크기의 격자로 나타낼 수 있다. 학교에 다니는 학생의 수는 N2명이다. 오늘은 모든 학생의 자리를 정하는 날이다. 학생은 1번부터 N2번까지 번호 www.acmicpc.net 💡 풀이 방식 • 구현 + dx/dy 1. 2차원 배열로 학생 번호와, 그 학생이 좋아하는 학생들을 기록한다. int[][] arr = new int[N * N + 1][5]; for(int i = 1 ; i 열의 번호가 가장 작은 칸 💥 if(a < pos[0] || (a == pos[0] && b < pos[1])) { pos = new int[] {a, b}; } 3. 학생 만족도를 계산한다. 1부터 N*N번째 학생까지 돌며 교실에서 해당..
imname1am
'구현' 태그의 글 목록 (6 Page)