본문 바로가기

알고리즘 공부/백준 > Python3

(163)
[백준 파이썬] #15596: 정수 N개의 합 https://www.acmicpc.net/problem/15596 15596번: 정수 N개의 합 C++17, Java 8, Python 3, C11, PyPy3, C99, C++98, C++11, C++14, Python 2, PyPy2, Go, C99 (Clang), C++98 (Clang), C++11 (Clang), C++14 (Clang), C11 (Clang), C++17 (Clang) www.acmicpc.net [정답] def solve(a): ans=0 for i in range(len(a)): ans+=int(a[i]) return ans
[백준 파이썬] #2839: 설탕 배달 https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net [정답] N=int(input()) count=0 #정확하게 Nkg을 만들 수 없을 경우를 위한 변수 A=N//5 for i in range(A,-1,-1): B=(N-5*i)//3 if((N-5*i)%3==0) and i*5+B*3==N: print(i+B) count+=1 break if count==0: print(-1) 새로운 유형의 문제라서 재밌었다. 코딩하려면 수학을 잘해야 한다고 하는데, 이것이..
[백준 파이썬] #11720: 숫자의 합 https://www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net [정답] N=int(input()) num_list=list(input()) sum=0 for i in range(N): sum+=int(num_list[i]) print(sum) 맨날 input().split()만 사용해서 약간 헷갈렸던 문제이다. ex) score_list=list(input().split()) input().split()은 빈칸을 기준으로 input값을 나누는 것이다. input값이 "54321"일때, 1) num_list=list(input())의 경우, ..
[백준 파이썬] #11654: 아스키 코드 https://www.acmicpc.net/problem/11654 11654번: 아스키 코드 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. www.acmicpc.net [정답] N=input() print(ord(N)) ord() 문자열을 아스키코드로 바꿔주는 함수 사용방법 : ord(문자열) ex) 'A'→65/ 'C'→67/ '0'→48/ 'a'→97
[백준 파이썬] #2446: 별 찍기 - 9 https://www.acmicpc.net/problem/2446 2446번: 별 찍기 - 9 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net [정답] N=int(input()) for i in range(1,N+1): print(" "*(i-1)+"*"*((-2)*i+2*N+1)) for k in range(N-1,0,-1): print(" "*(k-1)+"*"*((-2)*k+2*N+1))
[백준 파이썬] #2445: 별 찍기 - 8 https://www.acmicpc.net/problem/2445 2445번: 별 찍기 - 8 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net [정답] N=int(input()) for i in range(1,N+1): print("*"*i+" "*((-2)*i+N*2)+"*"*i) for k in range(N-1,0,-1): print("*"*k+" "*((-2)*k+N*2)+"*"*k) print("*"*i+" "*((-2)*i+N*2)+"*"*i) N*2를 처음에는 10이라고 했더니 '틀렸습니다!'라고 떴다. 나는 입력값 5에만 초점을 맞춰서 코딩을 했기 때문이다. ※ print("*"*i+" "*((-2)*i+10)+"*"*i) 경우, 입력값이 5일때, 문..
[백준 파이썬] #2444: 별 찍기 - 7 https://www.acmicpc.net/problem/2444 2444번: 별 찍기 - 7 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net [정답] N=int(input()) for i in range(1,N+1): print(" "*(N-i)+"*"*(2*i-1)) for k in range(N-1,0,-1): print(" "*(N-k)+"*"*(2*k-1)) 역시나,,, 먼저 뒤에 공백이 없다는 것을 드래그를 통해서 확인하고 문제를 풀었다.
[백준 파이썬] #2443: 별 찍기 - 6 https://www.acmicpc.net/problem/2443 2443번: 별 찍기 - 6 첫째 줄에는 별 2×N-1개, 둘째 줄에는 별 2×N-3개, ..., N번째 줄에는 별 1개를 찍는 문제 별은 가운데를 기준으로 대칭이어야 한다. www.acmicpc.net [정답] N=int(input()) for i in range(N,0,-1): print(" "*(N-i)+"*"*(2*i-1)) 이전 문제에서 공백 때문에 애먹었어서 먼저 예제를 드래그해보았다. 역시나 뒤에 공백이 없다는 것을 확인하고 문제를 풀었다.