백준287 백준 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. 백준 1062 c++ "가르침" -PlusUltraCode- https://www.acmicpc.net/problem/1062 [필자 사고]문제에서 주어지는 특정 글자들은 이미 존재한다.visited를 이용하여 미리 true형태로 해놓고나머지 모든 문자열에 대해서 브루트포스 및 combination 즉 백트래킹을 이용해서 문제를 풀어보자마지막 size가 원하는 K값과 같게 된다면 모든 문자열들을 확인하여 count값을 계산한다. 위와 같이 문제를 풀었다. 아래는 자세한 코드 해설이다.[코드 해설]Input 함수사용자로부터 단어의 개수 N과 가르칠 수 있는 글자 수 K를 입력받는다.N개의 단어를 입력받아 arr 벡터에 저장한다.동시에 myMap이라는 맵에도 해당 단어를 기록하지만, 이 맵은 이후 코드에서 사용되지 않기 때문에 불필요하다.combination 함수백.. 2025. 6. 26. 이전 1 2 3 4 ··· 72 다음