반응형
내 풀이
첫재줄에 숫자의 갯수
두번째줄에 주어진 값
주어진 값들을 다같이 더하는 코드를 작성. 단, 주어진 값들은 공백이 없기에 주의
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))
이 풀이는 내 풀이보다 더 간단하고 시간 복잡도도 낮은 풀이다.
이 풀이는 내풀이에서 불필요한 부분인 문자열로 받고 그것을 for문을 사용하여 int즉, 정수형으로 바꾸는 것을 하나로 하였다.
고찰
문제를 풀 때 불필요한 단계나 중복된 연산을 줄이는 방법은 무엇일까?
- 내장함수 및 라이브러리 활용
- 한번에 처리할 수 있는 방법 찾기
- 불필요한 변수나 중간 결과 제거
- 알고리즘 최적화
- 코드 리팩토링 및 추상화
- 프로파일링과 벤치마킹
이러한 방법을 사용하면 코드를 더욱 더 간결하고 효율적으로 만들 수 있다.
반응형
'Coding Test (코딩 테스트)' 카테고리의 다른 글
코딩테스트 16일차(2025.02.02) - 백준11654번(아스키 코드) (0) | 2025.02.02 |
---|---|
코딩테스트 15일차(2025.01.31) - 백준9086번(문자열) (0) | 2025.01.31 |
코딩테스트 15일차(2025.01.31) - 백준2743번(단어 길이 재기) (0) | 2025.01.31 |
코딩테스트 15일차(2025.01.31) - 백준27866번(문자와 문자열) (0) | 2025.01.31 |
코딩테스트 14일차(2025.01.30) - 백준1546번(평균) (0) | 2025.01.30 |