[백준 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
[백준 11286번] 파이썬 - 절댓값 힙
http://www.acmicpc.net/problem/11286 11286번: 절댓값 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net # 조건 배열에 정수 x를 넣는다. 배열에서 절댓값이 가장 작은 값을 출력하고, 그 값을 배열에서 제거 절댓값이 가장 작은 값이 여러 개일 때는, 가장 작은 수를 출력하고, 배열에서 제거 입력에서 0이 주어진 회수만큼 답을 출력한다. 만약 배열이 비어있는 경우에 0이 주어진다면 0을 출력 # 접근 방법 heapq 모듈을 사용해준다. abs를 이용하여 값을 넣어줄껀데 ( abs(..
2022.10.20
[백준 11659] 파이썬 - 구간 합 구하기 4
http://wwww.acmicpc.net/problem/11659 # 조건 수 N개가 주어졌을 때, i번째 수부터 j번째 수까지 합을 구하는 프로그램 작성하시오 첫 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘쨰 줄에는 N개의 수가 주어진다.ㅣ 수는 1,000보다 작거나 같은 자연수 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j가 주어진다. # 접근 방법 slicing을 통하여 합을 구해주면 된다. 이 때, slicing의 시작 구간 -1을 해주어야 한다. 위와 같이 하면 시간초과 따라서 누적합을 구해준다. 즉, 처음에 한 번 누적합 리스트를 구해준 후 B까지의 합에서 A-1까지의 합을 빼준다. import sys N, M = map(int, sys.stdin.readli..
2022.10.19
[프로그래머스] 파이썬 - 등굣길
https://school.programmers.co.kr/learn/courses/30/lessons/42898 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr # 조건 가장 왼쪽 위, 집의 좌표 (1,1) 가장 오른쪽 아래, 학교의 좌표 (m,n) 격자의 크기 m,n과 물이 잠긴 지역의 좌표 담은 2차원 배열 puddles가 매개변수 오른쪽과 아래쪽으로만 움직일 수 있으며 학교까지 갈 수 있는 최단 경로의 개수를 1,000,000,007로 나눈 나머지를 return 하여라 # 접근 방법 현재 칸에 올 수 있는 경로의 수 -> 왼쪽과 위쪽칸의 합과 같다...
2022.10.19
[백준 5525번] 파이썬 - IOIOI
http://www.acmicpc.net/problem/5525 5525번: IOIOI N+1개의 I와 N개의 O로 이루어져 있으면, I와 O이 교대로 나오는 문자열을 PN이라고 한다. P1 IOI P2 IOIOI P3 IOIOIOI PN IOIOI...OI (O가 N개) I와 O로만 이루어진 문자열 S와 정수 N이 주어졌을 때, S안에 PN이 몇 www.acmicpc.net # 조건 N+1개의 I와 N개의 O로 이루어져 있으면서, I와 O가 교대로 나오는 문자열을 Pn 이라고 한다. P1 = IOI, P2 = IOIOI I와 O로만 이루어진 문자열 S와 정수 N이 주어졌을 때, S안에 Pn이 몇 군데 포함되어 있는지 구하는 프로그램 작성 1
2022.10.12