본문 바로가기
728x90

알고리즘112

백준 15649번: N과 M (python, 파이썬) 문제 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열 입력 첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8) 출력 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다. 코드 N, M = map(int, input().split(' ')) # 숫자 사용 여부 확인 # Check number is used check = [False]*(N) # 정답 배열 # answer list answer = [0]*M def dfs(idx): #.. 2020. 10. 5.
백준 2309번: 일곱 난쟁이 (python, 파이썬) 문제왕비를 피해 일곱 난쟁이들과 함께 평화롭게 생활하고 있던 백설공주에게 위기가 찾아왔다. 일과를 마치고 돌아온 난쟁이가 일곱 명이 아닌 아홉 명이었던 것이다.아홉 명의 난쟁이는 모두 자신이 "백설 공주와 일곱 난쟁이"의 주인공이라고 주장했다. 뛰어난 수학적 직관력을 가지고 있던 백설공주는, 다행스럽게도 일곱 난쟁이의 키의 합이 100이 됨을 기억해 냈다.아홉 난쟁이의 키가 주어졌을 때, 백설공주를 도와 일곱 난쟁이를 찾는 프로그램을 작성하시오.입력아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다.출력일곱 난쟁이의 키를 오름차순으로 출력한다. 일곱 난쟁이를 찾을 수 없는 경.. 2020. 10. 4.
백준 1065번: 한수 (python, 파이썬) 문제 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 1,000보다 작거나 같은 자연수 N이 주어진다. 출력 첫째 줄에 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력한다. 코드 def solution(): num = int(input()) cnt = 0 # 값이 100미만이면 모든 수가 등차수열 # If number under 100, all number is arithmetic sequence if num < 100: cnt = num # 값이 100초과라면 세 수가 등차수열.. 2020. 10. 3.
백준 10174번: 팰린드롬 (python, 파이썬) 문제팰린드롬은 앞으로 읽으나 뒤로 읽으나 똑같은 단어나 숫자들을 말한다. 일반적으로 대소문자를 구분하지 않지만, 공백은 구분한다.다음은 팰린드롬의 예시이다.AnnaHarrahAroraNat tan9998999123 321$$$&&$$$모든 라인에 대해 팰린드롬인지 아닌지를 구분하는 프로그램을 작성하시오.입력첫째 줄에 테스트 케이스의 개수 n이 주어진다.각 테스트 케이스는 한 줄의 텍스트로 이루어져있으며, 비어있는 줄은 없다.출력각 테스트 케이스에 대해 정답을 출력한다.팰린드롬일 경우 "Yes"를 출력하고, 그렇지 않을 경우 "No"를 출력한다.코드def palindrome(str): # 소문자로 변환 # Change small letter str = str.lower() # 반복문 횟수 # number .. 2020. 10. 3.
728x90