분류 전체보기(217)
-
카드 맞추기 게임
카드맞추기게임 시작화면 게임시작 버튼을 누르면 게임이 시작됩니다. 게임시작 게임종료 모든 짝이 맞춰지면 메시지를 출력합니다. 확인 버튼을 누르면 초기 화면으로 돌아갑니다.
2020.01.30 -
셀프 넘버
문제 해결을 위해 집합을 사용했습니다. 파이썬에서 집합은 set을 사용해서 만들 수 있습니다. #셀프넘버는 생성자가 없는 숫자를 말한다. #셀프넘버의 예로는 1, 3, 5, 7, 9, 20, 31, 42, 53, 64, 75, 86, 97.... #71 이면 71+ 7+ 1 set1 = set([]) def solve(i): ans = 0 ans += i for j in str(i): ans += int(j) #ans들 집합에 넣고 1부터 10000의 수와 교집합을 제외하면 나머지만 남는다. #print(ans) set1.add(ans) for i in range(1, 10001): solve(i) set2 = set(range(1, 10001)) set3 = set2 - set1 set3 = sorte..
2019.12.31 -
다음 큰 숫자
조건에 만족하는 수를 찾기 위해서 입력된 n을 파이썬 bin함수를 이용해 2진수로 변환해줬습니다. 2진수로 변환된 수에 몇개의 '1'이 포함되었는지 .count('1)로 확인해줬습니다. n을 증가시키며 2진수의 '1'의 수가 같은 다음 큰 숫자를 찾습니다. def solution(n): answer = 0 base = 2 a = bin(n) count_one = a.count('1') while 1: n += 1 if bin(n).count('1') is count_one: break answer = n return answer
2019.12.10 -
문자열 내 p와 y의 개수
대소문자가 섞여있기 때문에 lower() 함수를 사용했습니다. if 문으로 'P' or 'p' 와 같이 써도 상관없습니다. for문을 돌며 문자열 요소 하나씩 if문으로 비교합니다. 같이 p, y와 같은지 비교하고 각각 카운트합니다. 마지막으로 if문을 사용해 p카운트와 y카운트가 다르면 False값을 가지도록 했습니다. def solution(s): answer = True s = s.lower() p_count = 0 y_count = 0 #다르면 false for string in s: if string is 'p': p_count += 1 if string is 'y': y_count += 1 if p_count is not y_count: answer = False return answer
2019.12.04 -
나누어 떨어지는 숫자 배열
arr 요소를 divisor로 나누고 나머지가 0인 값들만 리스트에 append 시켰습니다. 나누어 떨어지지 않아서 리스트가 비어있다면 -1을 append 시킵니다. return값은 오름차순으로 정렬하기 때문에 sorted를 사용했습니다. def solution(arr, divisor): answer = [] temp = [] for a in arr: if a % divisor is 0: temp.append(a) if not temp: temp.append(-1) temp = sorted(temp) answer = temp return answer
2019.12.04 -
두 정수 사이의 합
입출력 예의 3번째처럼 a가 더 클 수도 있기 때문에 리스트에 넣고 sorted()를 사용해서 정렬했습니다. def solution(a, b): answer = 0 temp = [a, b] x = sorted(temp) a = x[0] b = x[1] for i in range(a, b+1): answer += i return answer
2019.12.03