분류 전체보기392 백준 20057 c++ "마법사 상어와 토네이도" -PlusUltraCode- https://www.acmicpc.net/problem/20057 [필자 사고]이 문제에서 핵심은 좌표회전에 있다고 생각한다.처음에 필자는 어떻게 해야 좌표회전에 대해서 고민했는데 모눈종이를 그러보고 시행착오를 해봤다.다음에도 비슷한 문제가 나오면 위와 같은 방식으로 해보자. 또한 토네이도 관련해서는 1학년때 구현한 느낌으로 구현하면 될거 같다. 아래는 자세한 코드 해설이다.[코드 해설]Input()사용자 입력을 받는 함수입니다.N × N 격자의 크기를 입력받고, 각 칸에 있는 모래의 양을 arr 2차원 배열에 저장합니다.토네이도 이동 방향(왼쪽, 아래, 오른쪽, 위)에 따라 모래가 퍼지는 위치(dx, dy)를 회전시켜 각 방향별로 미리 계산하여 dxx, dyy에 저장합니다.getNextIndexs(v.. 2025. 7. 8. 백준 16637 c++ "괄호 추가하기" -PlusUltraCode- https://www.acmicpc.net/problem/16637 [필자 사고]백트래킹을 이용한 구현 문제인데숫자들만 idx로 점프를 해야되서 다소 생각이 요구했던 문제다. 처음 if문을 들어가기전에는 가로를 치지 않은 백트래킹 함수를 선언한다 \그러기에 현재 idx의 숫자와 그전의 부호 및 current로 그동안 계산되어온 숫자들을 계산한다.if문에서는 현재숫자부터 다음숫자까지의 가로를 만들어 백트래킹 함수를 선언한다.현재 숫자부터 다음 부호 그리고 그 다음 숫자들을 계산한뒤 current 와 계싼된 숫자를 계산하여 백트래킹 진행하면 된다. 아래는 자세한 코드해설이다.[코드 해설]1. Input() 함수표준 입력을 통해 두 개의 값을 입력받습니다.첫 번째 값은 수식 문자열의 길이 N입니다.두 번째 값.. 2025. 7. 7. 백준 17406 c++ "배열 돌리기 4" -PlusUltraCode- https://www.acmicpc.net/problem/17406 [필자 사고]구현 문제이다.구현에서도 백트래킹 알고리즘과 재귀를 이용하여 해당 문제를 해결했다.하나의 알고리즘에 여러 복합적 알고리즘들이 있어서 구현문제는 참 좋다고 느껴졌다.[코드 해설]1. struct NoderotateArr2에 들어가는 회전 연산 정보를 담는 구조체입니다.회전의 중심 좌표 (sero, garo)와 회전 범위 S를 저장합니다.좌표는 입력 받을 때 0-indexed로 변환됩니다 (-1 처리).2. void Input()배열 크기 N×M과 회전 연산 개수 K를 입력받습니다.arr 배열을 초기화하고 입력받은 값으로 채웁니다.이후 회전 연산 K개를 입력받아 rotateArr2 벡터에 저장합니다.회전 연산의 중심 좌표와 범위.. 2025. 7. 3. 백준 1747 c++ "소수&팰린드롬" -PlusUltraCode- https://www.acmicpc.net/problem/1747 [필자 사고]처음 에스토라 채를 이용할 때 최대를 10^7 했더니 런타임 속도가 많이 느렸다. 그래서200만 으로 바꿔서 진행해서 풀렸다. 팰린드롬 구하는 방법은 인덱스를 이용하여 처음과 끝을 비교하면서 했다. 문제에서 제한이 없어 쉽게 풀 수 있었다. [코드 해설]1. EesTora_Chae()기능: 소수를 판별하기 위한 에라토스테네스의 체 알고리즘을 사용하여 isPrime 벡터를 초기화합니다.상세 동작:isPrime 벡터를 MAX 크기만큼 true로 초기화한 뒤, 0과 1은 소수가 아니므로 false로 지정.2부터 √MAX까지 반복하면서, 현재 수가 소수이면 그 수의 배수들을 모두 false로 설정합니다.이렇게 하면 isPrime[i].. 2025. 7. 2. 이전 1 2 3 4 ··· 98 다음