전체 글390 백준 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. 백준 17140 c++ "이차원 배열과 연산" -PlusUltraCode- https://www.acmicpc.net/problem/17140 [필자 사고]문제를 이해하는데 다소 시간이 걸렸지만 이해가 되면 다소 쉬운 구현 문제다.다만 행과 열 이라는 개념이 햇갈리기 쉬운 개념이다 . 또한 c++에서는 열관련해서 쉽게 처리할 방도가 없어서필자는 transate를 시켰다. 즉 sero관련 함수를 실행시 전치행렬을 시켜 가로 행렬로 바꾸고기존 garo관련 함수와 동일한 로직을 실행시키고 다시 전치행렬로 바꿔서 코드를 실행했다. 이러니 하나의 함수로 중복 코드를 방지할 수 있어서 좋았다.열 관련 함수 질문의 나오면 이러한 방식을 이용하는 것도 좋은거 같다.[코드 해설]전체 흐름 요약arr는 2차원 배열입니다.1초마다 R 연산 또는 C 연산이 수행됩니다.각 연산은 각 행 또는 열을 정.. 2025. 7. 2. 백준 2239 c++ "스도쿠" -PlusUltraCode- https://www.acmicpc.net/problem/2239 [필자 사고]백트래킹 및 구현 문제다.ㅇㅣ 문제만의 독특한 매력은 0인 구간을 idx로 따로 넣어서 해당 idx관련 백트래킹만 수행하면 된다.각 for문 범위는 1~9라는 숫자들을 넣은 형태로 백트래킹을 수행한다. 또한 필자가 개인적으로 배운 기술은 int startSero 처리 로직이다.특정 인덱스의 시작과 끝을 알려면 int startSero = sero/3*3 을 하게 되면 원하는 시작 idx를 바로 구할 수 있었다. 옛날에는 하드코딩 했었는데 좋은 배움이 되었다.[코드 해설]vector> arr9×9 스도쿠 보드를 저장하는 2차원 벡터입니다.각 요소는 0~9의 숫자 중 하나를 저장하며, 0은 빈 칸을 의미합니다.vector> idx.. 2025. 7. 1. 이전 1 2 3 4 ··· 98 다음