[백준 15652번] N과 M(4)
http://www.acmicpc.net/problem/15652 15652번: N과 M (4) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net # 조건 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하라 1부터 N까지 자연수 중에서 M개를 고른 수열 같은 수를 여러 번 골라도 된다. 고른 수열은 비내림차순이어야 한다. 길이가 K인 수열 A가 A1
2022.11.07
[백준 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
no image
[백준 2407번] 조합
http://www.acmicpc.net/problem/2407 2407번: 조합 n과 m이 주어진다. (5 ≤ n ≤ 100, 5 ≤ m ≤ 100, m ≤ n) www.acmicpc.net 조건 nCm 을 구하여라 접근 방법 입력이 크지 않기 때문에 dp 이용해주지 않아도 될 것 같다. def fac(n): num = 1 for i in range(2,n+1): num*=i return num n,m = map(int,input().split()) print(fac(n) // (fac(m)*fac(n-m)))
2022.11.05
[백준 2293번] 파이썬 - 동전 1
http://www.acmicpc.net/problem/2293 2293번: 동전 1 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. www.acmicpc.net # 조건 n가지 종류의 동전이 있고 각각의 동전이 나타내는 가치는 다르다. 동전을 적당히 사용해서, 그 가치의 합이 k원이 되도록 하고 싶을 때, 그 경우의 수를 구하시오 각 동전은 몇 개라도 사용 가능하다. 동전의 구성이 같은데, 순서만 다른 것은 같은 경우 # 접근 방법 다이나믹 프로그래밍을 이용해서 풀어주면 될 것 같다. 가치의 합 +1 만큼의 dp테이블을 만들어 주고 각 가치를 만들 수 있는 ..
2022.11.02
[백준 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