목록시뮬레이션 (44)
어흥
문제 링크: https://www.acmicpc.net/problem/17822 17822번: 원판 돌리기 반지름이 1, 2, ..., N인 원판이 크기가 작아지는 순으로 바닥에 놓여있고, 원판의 중심은 모두 같다. 원판의 반지름이 i이면, 그 원판을 i번째 원판이라고 한다. 각각의 원판에는 M개의 정수가 적혀 www.acmicpc.net 더보기 [느낀 점] - 최근에 작성한 코드가 더 깔끔한 느낌 - 이전 코드: WA 상태에서 고친 코드 - 최근 코드: 함수를 통해 각 수행 부분을 분담 → AC 결론: 한번에 제대로 작성하도록 하자 1. 주의할 점 - 원판의 숫자에 0만 남아있다면 더 이상 수행하지 않아도 된다 - 원판에는 4개의 숫자가 아닌 M개의 숫자가 써져있다 2. 구현 - 원판에 대한 정보를 입..
문제 링크: https://www.acmicpc.net/problem/17837 17837번: 새로운 게임 2 재현이는 주변을 살펴보던 중 체스판과 말을 이용해서 새로운 게임을 만들기로 했다. 새로운 게임은 크기가 N×N인 체스판에서 진행되고, 사용하는 말의 개수는 K개이다. 말은 원판모양이고, 하� www.acmicpc.net 1. 주의할 점 - 이동할때 이동하는 말 위의 말은 전부 옮겨야 한다 - 벽면도 파란색과 같은 효과라고 했으므로 배열의 크기를 2씩 늘려서 테두리를 2로 감싸도록 한다 -> 배열 범위 밖 고려 안해도 된다 - Cnt(이동 횟수)가 1000을 넘어가면 -1을 출력한다 - 놓치기 쉬운 부분들은 밑에 빨간색으로 처리했다 2. 구현 - 현재 이동하려는 말 포함해서 위에 있는 말들을 전부..
문제 링크: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWl0UHtanwcDFAXz SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV4yLUiKDUoDFAUx SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 주의할 점 - 해당 Y,X 칸에 같은 메모리와 같은 방향을 지닌채로 이미..
문제 링크: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRF8s6ezEDFAUo SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 주의할 점 - 매 TC마다 웜홀위치, Arr[][]배열을 초기화 해줘야 한다 - 벽을 전부 블록 5번이라고 생각하고 푼다 [BFS] -1683ms 2. 구현 - 매 X,Y값마다 Arr[Y][X]==1이면 BFS를 시작하며 , Check[][] 배열을 모두 False로 초기화 하고 시작한다 - Queue에 시작 Y,X를 기준으로 4방향을 모두 넣고 시작한다 - Queue에서 원소 1..
문제 링크: https://www.acmicpc.net/problem/3709 3709번: 레이저빔은 어디로 문제 레이저박스라는 게임은 정사각형 모양의 n x n 보드에서 진행한다. (체스판을 상상하면 된다) 레이저박스의 임의의 칸마다 우향우 거울이라는 장치가 설치되어 있고, 마지막으로 레이저 �� www.acmicpc.net 1. 주의할 점 - X,Y의 입력으로 받거나 Y,X 입력으로 받거나 둘중 하나로 통일해야 한다 2. 구현 - Num, Mirror의 수를 입력 받은 후, Arr[][]배열을 항상 0으로 초기화한다 - 우향우 거울인 경우, Arr[][] 배열값을 1로 설정한다 - 어떤 지점에서 레이저가 시작되는지에 따라 4가지의 초기값이 다른 DFS를 수행한다 - DFS()를 통해 범위 밖으로 나가..
문제 링크: https://swexpertacademy.com/main/code/userProblem/userProblemDetail.do?contestProbId=AWSHOpR6f_sDFARw SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 주의할 점 - 매 TC마다 Check[][][]를 초기화해준다 - M의 주기마다 생성되는 오작교는 최대 1번만 만든다 - 크기가 2 이상인 배열은 위의 오작교와 별도로 작성한다 2. 구현 - BFS를 통해 구현한다 - Check[][][]: Y,X,주기가 M인 오작교를 만든 경우: 1, 안만든 경우: 0 - 구조체(Y,X 좌표값, State: 방금전에 오작교를 지났다..

문제 링크: https://www.acmicpc.net/problem/3108 3108번: 로고 문제 로고는 주로 교육용에 쓰이는 프로그래밍 언어이다. 로고의 가장 큰 특징은 거북이 로봇인데, 사용자는 이 거북이 로봇을 움직이는 명령을 입력해 화면에 도형을 그릴 수 있다. 거북이는 �� www.acmicpc.net 1. 주의할 점 - 문제를 DFS+BFS를 이용하여 푸는 방법도 있지만, 제가 푼 방법은 범위를 비교하고 만약 서로 겹치는 점이 있다면 부모를 같게 하는 Disjoint-set 방법으로 해결했다 - 초기 상태 (0,0)에서 고개를 내리고 있으므로, (0,0)에 대한 정보를 포함시키고 시작해야한다. 1.5 범위 비교 - 범위 비교할때 다음과 같은 6가지의 경우만 겹치지 않는다고 판단했다 2. 구..
문제 링크: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWJHmLraeEwDFAUH# SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 주의할 점 (모두 중요) - 이 문제는 구현보다는 배열을 어떻게 설정할 것인지 생각하는게 중요! - Arr[][],Numx[],Numy[]를 직접 만들어서 시행했는데, TC를 입력받기 전에 미리 1번 Make_arr()함수를 실행하여 생성해 놓는다 - 6각형 모양이라고 생각하고 (y,x)를 기준으로 6방향인 (y-1,x+1), (y,x+2), (y+1,x+1), (y+1,x-1)..