본문 바로가기
알고리즘 백준문제풀기

백준 알고리즘 python 10951번 / 10814번 나이순 정렬/ 2231번 분해합

by deeplearningkakao 2022. 1. 23.
반응형

백준 10951 번 python

입력

입력은 여러 개의 테스트 케이스로 이루어져 있다.

각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)

출력

각 테스트 케이스마다 A+B를 출력한다.

 

 

Python
while True:
     try: 
          a, b = map(int, input().split())   
          print(a+b)
     except: 
          break

 

 

백준 10814번 나이순 정렬

입력

첫째 줄에 온라인 저지 회원의 수 N이 주어진다. (1 ≤ N ≤ 100,000)

둘째 줄부터 N개의 줄에는 각 회원의 나이와 이름이 공백으로 구분되어 주어진다. 나이는 1보다 크거나 같으며, 200보다 작거나 같은 정수이고, 이름은 알파벳 대소문자로 이루어져 있고, 길이가 100보다 작거나 같은 문자열이다. 입력은 가입한 순서로 주어진다.

출력

첫째 줄부터 총 N개의 줄에 걸쳐 온라인 저지 회원을 나이 순, 나이가 같으면 가입한 순으로 한 줄에 한 명씩 나이와 이름을 공백으로 구분해 출력한다.

반응형

 

Python
arr = [] 

for i in range(int(input())):
       # 나이 이름
       str1 = list(map(str, input().split()))
       # 인덱스
       str1.append(i)

       # 나이, 이름, 인덱스 
      arr.append(str1)
      

# lambda표현 정렬 - 나이 오름차순, 인덱스 오름차순 


arr.sort(key=lambda x: (int(x[0]), int(x[2]))) 

for item in arr:
      print(item[0],item[1])

백준 2231번 분해합

입력

첫째 줄에 자연수 N(1 ≤ N ≤ 1,000,000)이 주어진다.

출력

첫째 줄에 답을 출력한다. 생성자가 없는 경우에는 0을 출력한다.

 

Python
n = int(input()) 

for i in range(1,n+1): 

     arr = list(map(int, str(i)))
     if sum(arr) + i == n: 
          print(i)
           break 

     if i == (n): 
          print(0) 
          break

 

 

반응형

댓글