본문 바로가기
Coding Test (코딩 테스트)

코딩테스트 16일차(2025.02.02) - 백준11720번(숫자의 합)

by BioLearner 2025. 2. 2.
반응형

 풀이

첫재줄에 숫자의 갯수

두번째줄에 주어진 값

 

주어진 값들을 다같이 더하는 코드를 작성. 단, 주어진 값들은 공백이 없기에 주의

count = int(input())
numbers = list(input())

for i in range(count):
    numbers[i] = int(numbers[i])

print(sum(numbers))

이번에 내가 한 풀이는 일단은 문자열을 받는 대신 문자열 리스트로 값들을 받고 리스트에 있는 값들을 int로 바꾸어 답을 구하였다.

결과: 정답

또 다른 풀이

num = input()
numbers = list(map(int,input()))

print(sum(numbers))

 

 

[BAEKJOON]백준 11720번: 숫자의 합 파이썬

문제 N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진

bambbang00.tistory.com

이 풀이는 내 풀이보다 더 간단하고 시간 복잡도도 낮은 풀이다.

 

이 풀이는 내풀이에서 불필요한 부분인 문자열로 받고 그것을 for문을 사용하여 int즉, 정수형으로 바꾸는 것을 하나로 하였다.

고찰

문제를 풀 때 불필요한 단계나 중복된 연산을 줄이는 방법은 무엇일까?

- 내장함수 및 라이브러리 활용

- 한번에 처리할 수 있는 방법 찾기

- 불필요한 변수나 중간 결과 제거

- 알고리즘 최적화

- 코드 리팩토링 및 추상화

- 프로파일링과 벤치마킹

 

이러한 방법을 사용하면 코드를 더욱 더 간결하고 효율적으로 만들 수 있다. 

반응형