데이터 코딩랩
백준 11720 파이썬 숫자의 합 본문
https://www.acmicpc.net/problem/11720
📄 실전 문제 접근 체크리스트
1초, 256MB
1단계: 문제 파악
☑️ 문제 요구사항 한 줄로 정리
: N개의 숫자가 공백없이 주어짐, 그 숫자들의
추가) 추가사항없음
☑️ 예제 입력/출력 확인
: 입력 → 첫줄 N, 둘째줄 : N개만큼의 한자리 숫자
: 출력 → 숫자들의 합
: 합해서 출력하기
추가) 추가사항없음
입력:
출력:
2단계: 입력 범위 → 시간복잡도 판단
입력 크기 (N) 적정 알고리즘 복잡도
☑️ 입력 크기 체크 후 -> 내가 쓸 수 있는 알고리즘 선별
받을 수 있는 숫자의 개수는 1<= N <=100, 공백없이 N 개가 나옴
추가) 추가사항없음
✔️ 시간복잡도: O(N)
✔️ 메모리 : 초과X
3단계: 알고리즘 유형 선택
☑️ 문자열 처리,
입력받은 N 개의 숫자를 리스트로 받아서 리스트 내 숫자 합 구하기
추가)
✔️ 문자열 처리 + 리스트 변환 + 합계 계산
4단계: 자료구조 & 흐름 정리
☑️ 어떤 자료구조를 쓸까?
→ 문자열 인듯
☑️ 함수 나눌 필요 있는가?
→ 없음
☑️ 조건 분기 많을까? 시뮬레이션 필요한가?
→ 없음
☑️ 흐름 : input → 리스트 요소로 분리하기 → 그 리스트 합 구하면 될듯
추가)
✔️흐름 : 문자열로 입력 받아서 리스트 -> int 로 바꿔서 합 구하
list(input()) → 문자 하나씩 분리 → int() 변환
5단계: 구현 전 체크
☑️ 입출력 방식은?
→ 숫자 받아서 리스트로 만들어서 리스트 합 구하기
☑️ 예외 상황은 어떤 게 있을까? (빈 입력, 중복 등)
→ 없는듯?
☑️ 시간 초과 가능성은?
→ 없는듯
추가)
✔️ 입출력:
→
✔️ 시간/메모리 초과 가능성 :
→
6단계: 제출 전 체크리스트
☑️ 예제 출력 전부 통과했는가?
☑️ 문제 조건 중 빠뜨린 거 없는가?
☑️ 반복문/조건문 이상한 부분 없는가?
☑️ 시간/메모리 초과 가능성 없나?
추가)
내 답
N = int(input())
S = list(input())
X=[]
for i in range(N):
X.append(int(S[i]))
print(sum(X))
최적화 된 답
input() # 첫 줄 N은 사실 안 써도 됨
print(sum(map(int, input())))
'Algorithm > 백준' 카테고리의 다른 글
백준 2675 파이썬 문자열 반복 (0) | 2025.04.15 |
---|---|
백준 10809 파이썬 알파벳 찾기 (0) | 2025.04.15 |
백준 11654 파이 아스키코드 (0) | 2025.04.15 |
백준 9086 파이썬 문자 (0) | 2025.04.15 |
백준 2743 파이썬 단어 길이재기 (0) | 2025.04.15 |