https://www.acmicpc.net/problem/16935 16935번: 배열 돌리기 3 크기가 N×M인 배열이 있을 때, 배열에 연산을 R번 적용하려고 한다. 연산은 총 6가지가 있다. 1번 연산은 배열을 상하 반전시키는 연산이다. 1 6 2 9 8 4 → 4 2 9 3 1 8 7 2 6 9 8 2 → 9 2 3 6 1 5 1 8 3 4 2 9 → www.acmicpc.net 1. 접근 방식 각 연산을 처리하는 함수를 구현하자. 각 함수는 인자로 기존 배열을 받고, 연산을 적용한 결과(배열)을 반환한다. 함수 내부에서 일어나는 일이 외부에 영향을 끼치고 싶지 않았기 때문에 이와 같이 배열을 인자로 받고, 새 배열을 반환하는 방식으로 구현하고자 한다. 인덱싱과 리스트 comprehension을 ..
https://www.acmicpc.net/problem/20056 20056번: 마법사 상어와 파이어볼 첫째 줄에 N, M, K가 주어진다. 둘째 줄부터 M개의 줄에 파이어볼의 정보가 한 줄에 하나씩 주어진다. 파이어볼의 정보는 다섯 정수 ri, ci, mi, si, di로 이루어져 있다. 서로 다른 두 파이어볼의 위치 www.acmicpc.net 1. 접근 방식 이동할 때의 핵심은 「격자의 행과 열은 1번부터 N번까지 번호가 매겨져 있고, 1번 행은 N번과 연결되어 있고, 1번 열은 N번 열과 연결되어 있다.」이다. 예를 들어 파이어볼로 (4, 1, 2, 5, 7)을 입력 받았다면, 실제 테이블의 3행 0열에 해당 파이어볼이 존재하는 것이다. 속도 5, 방향 7.즉, 좌측 상향 대각선으로 5칸 이동해..
https://www.acmicpc.net/problem/1913 1913번: 달팽이 N개의 줄에 걸쳐 표를 출력한다. 각 줄에 N개의 자연수를 한 칸씩 띄어서 출력하면 되며, 자릿수를 맞출 필요가 없다. N+1번째 줄에는 입력받은 자연수의 좌표를 나타내는 두 정수를 한 칸 띄어서 www.acmicpc.net 1. 접근 방식 빈 표에서 바깥쪽부터 숫자를 채워나가자. 목표는 위 그림의 왼쪽 초기 표 상태에서 오른쪽 표 상태로 만드는 것이다. 이를 위해서 왼쪽, 아래쪽, 오른쪽, 위쪽으로 4번에 나눠 값을 채워 넣는다. 처음에는 (0, 0)에 n² = 25를 넣는 것으로, 왼쪽부터 값을 채워 넣는다. 이때 열 j는 0으로 고정되어 있고, 행 i만 0에서 (n - 1) = 4까지 증가한다. 아래쪽은 행 i가 ..
17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 www.acmicpc.net 1. 문제 내용 2. 접근 방식 머리속에서 문제 푸는 과정을 그대로 코드로 옮기자. 문자열을 처음부터 끝까지 순회하면서 ''가 나올 때, ' '(공백)이 나올 때를 구분해야겠다고 생각했다. < : 태그의 시작 따라서 만약 이전에 단어가 존재한다면, 그것을 뒤집어서 result 변수에 미리 넣어준다. 그 후에, 다시 새롭게 word를 '