TIL # 28 : [Algorithm] 백준 / 기초

셀레스틴 허·2021년 1월 2일
0

ALGORITHM

목록 보기
1/18
post-thumbnail

새해 알고리즘 스터디(1.1~7)

1일차

백준 문제 :
2557, 10718, 10171, 10172, 1000, 1001, 10998, 1008, 10869, 10430, 2588, 2558, 10950, 10951, 10952, 10953, 11021, 11022, 11718, 11720, 11721, 2741, 2742, 2739, 1924, 8393, 10818, 2438, 2439, 2440, 2441, 2442, 2445, 1463


꼭 짚고 넘어가고 싶은 문제들:

A) 11718번

정답 코드:

while True:
    try:
        print(input().strip())
    except EOFError:
        break

EOF error:

  • 단순히 키보드로 입력 내용만 적고 프로그램이 종료되지 않은 상태까지만 봐서는 EOF를 제대로 처리했는지 알 수 없다. 더 이상 읽을 게 없을 떄 프로그램을 종요하는 법을 알아야 한다.
  • input()except를 통해 예외 처리를 하여 정상적으로 프로세스를 종료할 수 있는 반면 sys.stdin.readline()는 빈문자열 발생으로 입력초과를 만든다.
  • sys.stdin.read().readline()과 달리 개행을 만들지 않기 때문에 input() 대신 쓸 수 있다.
  • 요약: EOFerror는 더 이상 읽어들일 데이터가 없을 때 발생하며 input() 대신 sys.stdin.read()을 쓸 수 있다.

    문제풀이 체크리스트

    ◻️ 시간 제한 지났음에도 문제 터치 못함
    ◻️ 시간 제한 내에 코드 완성
    ◻️ 시간 제한 후에 코드 완성
    ◻️ 코드 미완성
    ◼️ 코드 완성 - 에러
    ◻️ 코드 완성 - 정답


B) 11720번

1차 시도(실패):

n= map(int, input().split())
add = 0  
for i in n:
    add += i

print(add)

addint인데 string과 더해서 에러가 떴다...

2차 시도(성공):

r = int(input()) 
n = list(map(int, input().strip())) 
add = 0
for i in n:
  add += int(i)
  
print(add)

문제풀이 체크리스트

◻️ 시간 제한 지났음에도 문제 터치 못함
◻️ 시간 제한 내에 코드 완성
◻️ 시간 제한 후에 코드 완성
◻️ 코드 미완성
◼️ 코드 완성 - 에러
◻️ 코드 완성 - 정답


C) 2741번

1차 시도(성공):

r = int(input())
for i in range(r):
  print(i+1)

문제풀이 체크리스트

◻️ 시간 제한 지났음에도 문제 터치 못함
◻️ 시간 제한 내에 코드 완성
◻️ 시간 제한 후에 코드 완성
◻️ 코드 미완성
◻️ 코드 완성 - 에러
◼️ 코드 완성 - 정답

Reference
https://www.acmicpc.net/
https://joewithtech.tistory.com/26

profile
Software Developer / 고통은 필연, 괴로움은 선택

0개의 댓글