CS/알고리즘_문제풀이(파이썬) 183

중복 조회 2

문제 2차원 평면에 n 명의 사람이 있다. i 번 사람의 좌표는 두 자연수 yi, xi 로 표현되고, 같은 위치에 여러 사람이 존재할 수 있다. 1 번 사람부터 n 번 사람까지 순서대로 좌표가 주어진다. 각 좌표에 있는 사람의 번호의 합을 출력하여라. 단, 같은 위치에 두 명 이상의 사람이 있을 경우 가장 작은 번호만 더한다. 입력 첫 줄에 n 이 주어진다. 두 번째 줄부터 n 줄에 걸쳐 yi, xi 가 주어진다. (1 ≤ n ≤ 100,000, 1 ≤ yi, xi ≤ 100) 출력 조건에 맞는 번호의 합을 출력한다. 입력의 예 1 6 1 1 2 3 2 2 1 3 1 1 4 5 출력의 예 1 16 입력의 예 2 5 1 1 1 1 1 1 2 2 3 3 출력의 예 2 10 입력의 예 3 5 1 1 1 2 1..

중복 조회 1

문제 2차원 평면에 n 명의 사람이 있다. i 번 사람의 좌표는 두 자연수 yi, xi 로 표현되고, 같은 위치에 여러 사람이 존재할 수 있다. 혼자 있는 사람의 수를 출력하여라. 입력 첫 줄에 n 이 주어진다. 두 번째 줄부터 n 줄에 걸쳐 yi, xi 가 주어진다 (1 ≤ n ≤ 100,000, 1 ≤ yi, xi ≤ 100) 출력 혼자 있는 사람의 수를 출력한다. 입력의 예 1 6 1 1 2 3 2 2 1 3 1 1 4 5 출력의 예 1 4 입력의 예 2 5 1 1 1 1 1 1 2 2 3 3 출력의 예 2 2 입력의 예 3 5 1 1 1 2 1 3 1 1 2 2 출력의 예 3 3 입력의 예 4 6 1 1 1 1 1 1 2 2 3 3 3 3 출력의 예 4 1 #코드 : 딕셔너리를 통한 풀이법 1 2..

이동 알고리즘 2

문제 세로 길이 N, 가로 길이 M 인 2 차원 배열에 k 명의 사람이 있다. i 번 사람은 1 초에 di 방향으로 fi 만큼 이동하고, 배열의 끝에 도착하면 다음 이동 시 뒤로 돌아서 반대 방향으로 이동한다. t 초 후 각 사람의 위치를 1 번 사람부터 출력하여라. 이 배열의 왼쪽 위 좌표는 (1, 1) 이고, 오른쪽 아래 좌표는 (M, N) 이다. xi 는 i 번 사람의 가로 방향 위치, yi 는 i 번 사람의 세로 방향 위치를 의미한다. di 는 0, 1, 2, 3 중 하나로 주어지는데, 순서대로 상하좌우를 의미한다. 입력 첫 줄에 N, M, k, t 가 주어진다. 두 번째 줄 부터 k 줄에 걸쳐 yi, xi, di, fi 가 주어진다. (3 ≤ N, M ≤ 1,000,000,000, 1 ≤ t, ..

2차원 큰 이동

문제 세로 길이 N, 가로 길이 M 인 2 차원 배열의 (x, y) 위치에 사람이 있다. 이 사람은 초기 방향 d 로 1 초에 한 칸 씩 이동하는데, 배열의 끝에 도착하면 다음 이동 시 뒤로 돌아서 반대 방향으로 이동한다. t 초 뒤 이 사람의 위치를 x, y 순서로 출력하여라. 배열의 왼쪽 위 좌표는 (1, 1) 이고, 오른쪽 아래 좌표는 (M, N) 이다. d 는 0, 1, 2, 3 중 하나로 주어지는데, 순서대로 상하좌우를 의미한다. 이 배열의 인덱스는 1 부터 시작한다. 입력 첫 줄에 정수 N, M, y, x, d, t 가 주어진다. (3 ≤ N, M ≤ 1,000,000,000, 1 ≤ y ≤ N, 1 ≤ x ≤ M, 0 ≤ d ≤ 3, 0 ≤ t ≤ 1,000,000,000) 출력 t 초 후 ..

1차원 큰 이동

문제 1 번부터 n 번까지 총 n 개의 공간이 있는 1차원 배열의 x 번 위치에 사람이 있다. 이 사람은 초기 방향 d 로 1 초에 한 칸 씩 이동하는데, 배열의 끝에 도착하면 다음 이동 시 뒤로 돌아서 반대 방향으로 이동한다. t 초 뒤 이 사람의 위치와 방향을 출력하여라. d 가 0 이면 좌표가 감소하는 방향, d 가 1이면 좌표가 증가하는 방향으로 이동한다. 입력 첫 줄에 정수 n, x, d, t 가 주어진다. (3 ≤ n ≤ 1,000,000,000, 1 ≤ x ≤ n, 0 ≤ d ≤ 1, 0 ≤ t ≤ 1,000,000,000) 출력 t 초 후 사람의 위치와 방향을 출력한다. 입력의 예 1 6 4 0 5 출력의 예 1 3 1 입력의 예 2 5131 555 0 35491 출력의 예 2 4158 1..

N명 이동

문제 세로 길이 N, 가로 길이 M 인 2차원 배열에 k 명의 사람이 있다. i 번 사람은 1 초에 di 방향으로 fi 만큼 이동하고, 만약 이동하려는 위치가 배열의 범위 밖이라면 배열을 나가기 직전의 위치에서 멈춘다. t 초 후 각 사람의 위치를 1 번 사람부터 출력하여라. 이 배열의 왼쪽 위 좌표는 (1, 1) 이고, 오른쪽 아래 좌표는 (M, N) 이다. yi 는 i 번 사람의 세로 방향 위치, xi 는 i 번 사람의 가로 방향 위치를 의미한다. di 는 0, 1, 2, 3 중 하나로 주어지는데, 순서대로 상하좌우를 의미한다. 입력 첫 줄에 정수 N, M, k, t 가 주어진다. 두 번째 줄부터 k 줄에 걸쳐 정수 yi, xi, di, fi 가 주어진다. (3 ≤ N, M, k, t ≤ 100, 1..

ICEBERG[백준 2573]

문제 지구 온난화로 인하여 북극의 빙산이 녹고 있다. 빙산을 그림 1과 같이 2차원 배열에 표시한다고 하자. 빙산의 각 부분별 높이 정보는 배열의 각 칸에 양의 정수로 저장된다. 빙산 이외의 바다에 해당되는 칸에는 0이 저장된다. 그림 1에서 빈칸은 모두 0으로 채워져 있다고 생각한다. 그림 1. 행의 개수가 5이고 열의 개수가 7인 2차원 배열에 저장된 빙산의 높이 정보 빙산의 높이는 바닷물에 많이 접해있는 부분에서 더 빨리 줄어들기 때문에, 배열에서 빙산의 각 부분에 해당되는 칸에 있는 높이는 일년마다 그 칸에 동서남북 네 방향으로 붙어있는 0이 저장된 칸의 개수만큼 줄어든다. 단, 각 칸에 저장된 높이는 0보다 더 줄어들지 않는다. 바닷물은 호수처럼 빙산에 둘러싸여 있을 수도 있다. 따라서 그림 1..

SLIKAR

문제 사악한 암흑의 군주 임정택은 드디어 원하던 마법 구슬을 손에 넣었고, 알랩숲에 홍수를 일으켰다! 이 숲에 살고 있는 고슴도치는 지금 당장 비버의 굴로 가능한 빨리 돌아가 홍수를 피하려고 한다. 알랩숲의 지도는 R행 C열로 구성되어 있다. 비어있는 곳은 '.'로 나타나 있고, 물이 차있는 지역은 '*', 돌은 'X'로 표현되어 있다. 추가적으로, 비버의 굴은 'D'로, 고슴도치의 위치는 'S'로 표시되어 있다. 매 분마다 고슴도치는 현재 있는 칸과 인접한 네 칸 중 하나로 이동할 수 있다. (위, 아래, 오른쪽, 왼쪽) 물은 매 분마다 물이 있는 칸과 적어도 한 변을 공유하는 비어있는 모든 칸에 물이 차게 된다. 물과 고슴도치는 돌을 통과할 수 없다. 또, 고슴도치는 물로 차있는 구역으로 이동할 수 ..

TOMATO[백준 7569]

문제 철수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있다. 토마토는 아래의 그림과 같이 격자모양 상자의 칸에 하나씩 넣은 다음, 상자들을 수직으로 쌓아 올려서 창고에 보관한다. 창고에 보관되는 토마토들 중에는 잘 익은 것도 있지만, 아직 익지 않은 토마토들도 있을 수 있다. 보관 후 하루가 지나면, 익은 토마토들의 인접한 곳에 있는 익지 않은 토마토들은 익은 토마토의 영향을 받아 익게 된다. 하나의 토마토에 인접한 곳은 위, 아래, 왼쪽, 오른쪽, 앞, 뒤 여섯 방향에 있는 토마토를 의미한다. 대각선 방향에 있는 토마토들에게는 영향을 주지 못하며, 토마토가 혼자 저절로 익는 경우는 없다고 가정한다. 철수는 창고에 보관된 토마토들이 며칠이 지나면 다 익게 되는지 그 최소 일수를 알고 싶어 한..

ROBOT[백준 1726]

문제 많은 공장에서 로봇이 이용되고 있다. 우리 월드 공장의 로봇은 바라보는 방향으로 궤도를 따라 움직이며, 움직이는 방향은 동, 서, 남, 북 가운데 하나이다. 로봇의 이동을 제어하는 명령어는 다음과 같이 두 가지이다. 명령 1. Go k k는 1, 2 또는 3일 수 있다. 현재 향하고 있는 방향으로 k칸 만큼 움직인다. 명령 2. Turn dir dir은 left 또는 right 이며, 각각 왼쪽 또는 오른쪽으로 90° 회전한다. 공장 내 궤도가 설치되어 있는 상태가 아래와 같이 0과 1로 이루어진 직사각형 모양으로 로봇에게 입력된다. 0은 궤도가 깔려 있어 로봇이 갈 수 있는 지점이고, 1은 궤도가 없어 로봇이 갈 수 없는 지점이다. 로봇이 (4, 2) 지점에서 남쪽을 향하고 있을 때, 이 로봇을 ..

반응형