[백준 16236번] 파이썬 - 아기 상어
http://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net # 조건 N x N 크기의 공간에 물고기 M마리와 아기 상어 1마리 한 칸에는 물고기가 최대 1마리 존재 아기 상어와 물고기는 모두 크기를 가지고 있고, 크기는 자연수이다. 최초의 아기 상어 크기 = 2, 1초에 상하좌우로 인접한 한 칸씩 이동 아기 상어는 자신의 크기보다 큰 물고기가 있는 칸은 못 지나가고, 나머지 칸은 모두 지나간다. 이 때, 크기가 같은 물고기는 먹을 수 없지만, 있는 ..
2022.11.06
[백준 9019번] 파이썬 - DSLR
http://www.acmicpc.net/problem/9019 9019번: DSLR 네 개의 명령어 D, S, L, R 을 이용하는 간단한 계산기가 있다. 이 계산기에는 레지스터가 하나 있는데, 이 레지스터에는 0 이상 10,000 미만의 십진수를 저장할 수 있다. 각 명령어는 이 레지스터에 www.acmicpc.net # 조건 네 개의 명령어 D, S, L, R 이용하는 간단한 계산기 레지스터에는 0 이상 10,000 미만의 십진수를 저장 n의 네 자릿수를 d1, d2, d3, d4라고 하자 D는 n을 두 배로 바꾼다. 결과 값이 9999보다 큰 경우 10000으로 나눈 나머지를 취하고 그 결과 값 (2n mod 10000)을 레지스터에 저장 S는 n에서 1을 뺀 결과 n-1을 레지스터에 저장 L은 ..
2022.10.27
no image
[프로그래머스] 파이썬 - 여행 경로
https://school.programmers.co.kr/learn/courses/30/lessons/43164 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr # 조건 주어진 항공권을 모두 이용하여 여행경로 짠다. # 접근 방법 너비 우선 탐색을 이용하여 출력해주면 된다. 이 떄, 가능한 경로가 2개 이상이면 사전순 정렬이기 때문에, 먼저 sort() 를 이용하여 사전 순 정렬을 해준다. bfs사용 실패 from collections import deque def solution(tickets): q = deque() start = 'ICN' answe..
2022.10.24
no image
[백준 10026] 파이썬 - 적록색 약
http://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net # 조건 적록색약은 빨간색과 초록색의 차이 거의 x 크기가 NxN인 그리드의 각 칸에 R, G , B 중 하나를 색칠한 그림 몇 개의 구역으로 나뉘어져 있는데, 구역은 같은 색 같은 색상이 상하좌우로 인접해 있는 경우에 두 글자는 같은 구역 위의 경우 - 적록색약이 아닌 사람이 보면 구역의 수 총 4개 ( 빨 2, 초1, 파 1) 적록색 약인 경우 3개 (빨-초 2개, 파 1개) 그림이 주어..
2022.10.22
[프로그래머스] 파이썬 - 순위
https://school.programmers.co.kr/learn/courses/30/lessons/49191 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr # 조건 n명의 권투선수가 참여했고 각각 1번부터 n번까지 번호 A 선수가 B 선수보다 실력이 좋다면 항상 이긴다. 하지만 몇몇 경기 결과를 분실하여 정확한 순위 매기기 힘들다. 선수의 수 n, 결과를 담은 2차원 배열 reuslt가 주어질 때, 정확하게 순위를 매길 수 있는 선수의 수를 return # 접근 방법 정확한 순위를 매길 수 있다는 것 -> 모든 선수와 경기를 하였다는 뜻이다. 따라서..
2022.10.21
[백준 11403번] 파이썬 - 경로 찾기
http://www.acmicpc.net/problem/11403 11403번: 경로 찾기 가중치 없는 방향 그래프 G가 주어졌을 때, 모든 정점 (i, j)에 대해서, i에서 j로 가는 경로가 있는지 없는지 구하는 프로그램을 작성하시오. www.acmicpc.net # 조건 정점의 개수 N N개 줄에는 그래프의 인접 행렬이 주어진다. i번째 줄의 j번째 숫자가 1인 경우 i에서 j로 가는 간선이 존재한다는 뜻 총 N개의 줄에 걸쳐 문제의 정답을 인접행렬 형식으로 출력 # 접근 방법 및 Solution 모든 그래프에 대한 정점을 받은 후 결과를 저장해줄 배열 만들기 이후 bfs를 이용하여 접근 가능한 정점 들을 기록해준다. 전형적인 bfs 문제로서 순회가 가능한 것을 체크하기 위하여 시작 지점에 1을 해..
2022.10.21
[백준 2667번] 파이썬 - 단지 번호 붙이기
https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net # 조건 정사각형 모양의 지도가 있다. 1은 집이 있는 곳, 0은 집이 없는 곳 연결된 집의 모임의 단지를 정의하는데, 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이 있는 경우를 말한다 총 단지수를 출력하고 각 단지에 속하는 집의 수를 오름차순으로 출력하라. # 접근 방법 및 solution 델타 함수를 이용한 dfs를 이용하여 연결된 단지를 체크해준다. 방문한 집들의 값을 0으로 변..
2022.10.11
[백준 2178번] 파이썬 - 미로 탐색
https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net # 조건 NxM 크기의 배열로 표현되는 미로 1은 이동할 수 있는 칸, 0은 이동할 수 없는 칸 (1,1) 에서 출발하여 (N,M)의 위치로 이동할 때 지나야 하는 최소 칸 수를 출력 # 접근 방법 BFS를 통하여 탐색을 진행한다. Queue에 넣어주며 방문기록을 현재 좌표+1로 해준다. 간선의 가중치가 모두 같은 그래프로 생각할 수 있기 때문에 bfs를 이용한다면 최단 경로를 바로 구할 수 있다. import sys sys.s..
2022.10.10
[백준 11724번] 연결 요소의 개수
https://www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주 www.acmicpc.net # 조건 방향 없는 그래프가 주어질 때, 연결 요소의 개수를 구하라 1
2022.10.08