본문 바로가기

알고리즘 공부

(207)
[백준 파이썬] #10989: 수 정렬하기 3 https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net [정답] import sys N=int(sys.stdin.readline()) num_list=[0]*10001 #입력값이 10000보다 작거나 같은 자연수이니까 0~10000이므로 10001개를 넣어주어야 한다 for i in range(N): num=int(sys.stdin.readline()) num_list[num]+=1 for k in range(10001): if(num_list[k]>0): for j ..
[백준 파이썬] #1978: 소수 찾기 https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net [정답] N=int(input()) n_list=list(map(int,input().split())) p_n=0 #소수의 개수 for i in n_list: count=True #소수가 아니면 False, 소수이면 True if i
[백준 파이썬] #10870: 피보나치 수 5 https://www.acmicpc.net/problem/10870 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net [정답] def f(n): if n
[백준 파이썬] #5622: 다이얼 https://www.acmicpc.net/problem/5622 5622번: 다이얼 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어는 2글자~15글자로 이루어져 있다. www.acmicpc.net [오답] list_str=list(input()) time=0 for i in range(len(list_str)): time+=(ord(list_str[i])-56)//3 print(time) 이렇게 풀어놓고 수학 재밌네라는 생각을 했다,,, 제출을 하자 '틀렸습니다'가 떠서 문제를 다시 읽어보았는데, 나는 대문자 3개씩 있다고 생각하고 문제를 푼 것이었다,,, 문제를 자세히 보면, 대문자 4개가 있는 경우가 있다. → 7에 PQRS , 9에 WXYZ 그래서 7과 9를 예외로 코드를 짜려고 했으나..
[백준 파이썬] #2750: 수 정렬하기 https://www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net [정답] N=int(input()) n_list=[] for i in range(N): num=int(input()) n_list.append(num) n_list.sort() for i in range(N): print(n_list[i])
[백준 파이썬] #10172: 개 https://www.acmicpc.net/problem/10172
[백준 파이썬] #10171: 고양이 https://www.acmicpc.net/problem/10171 10171번: 고양이 아래 예제와 같이 고양이를 출력하시오. www.acmicpc.net [정답] print("\\ /\\") print(" ) ( ')") print("( / )") print(" \\(__)|") 역슬래시(\)를 출력하기 위해 print함수로 그냥 출력해본 결과, SyntaxError가 발생하였다. 역슬래시(\)를 출력하기 위해서는 \\를 입력해야 한다.
[백준 파이썬] #2908: 상수 https://www.acmicpc.net/problem/2908 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net [정답] A,B=list(input().split()) new_A,new_B='','' answer=0 for i in range(2,-1,-1): new_A+=A[i] new_B+=B[i] print(max(int(new_A),int(new_B))) max 함수 큰 수를 출력해주는 함수 ex) max(1,11,7) → 11 max([1,2,3,4]) → 4 max("hello") → 'o' (아스키코드로 큰..