Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 백준
- 구현
- 그리디
- 이진탐색
- 프로그래머스
- 백트랙킹
- 알고리즘_스터디
- U_stage
- 부스트캠프_AITech_3기
- 알고리즘스터디
- 그래프이론
- 개인회고
- python3
- 파이썬 3
- 이코테
- 최단경로
- 다시보기
- Level2_PStage
- mrc
- 단계별문제풀이
- 기술면접
- dfs
- ODQA
- 부스트캠프_AITech3기
- 주간회고
- 글또
- 정렬
- dp
- Level2
- Level1
Archives
- Today
- Total
국문과 유목민
[그리디] 곱하기 혹은 더하기 본문
"이것이 코딩테스트다(나동빈 저)"에서 나온 문제에 대한 코드를 다루고 있습니다.
문제에 대한 구체적인 설명과 조건 등은 책을 참고해주시기 바랍니다.
소요시간: 7분 51초
1. 문제 설명
- 문자열이 주어질 때 +, *연산을 수행해서 최대값을 리턴시켜라
2. 접근 방식
- 0이 아니라면 무조건 곱하기가 훨씬 좋다. (라고 쉽게 생각했는데, 0뿐만 아니라 1일 때도 덧셈이 더 좋다는 것을 간과하고 있었다.)
- 문자열의 경우 리스트로 만들고 하나씩 뽑아서 연산을 수행한다.
3. 코드
def mul_add(x):
answer = 0
word_ls = list(x)
for i in word_ls:
now = int(i)
if now in (0, 1) or answer == 0 :
answer += now
else:
answer *= now
return answer
4. 코멘트
- 짧은 시간에 풀기 위해 집중했었는데, answer의 default값을 0으로해서 초반에 0*0이 되는 경우를 고려하지 못해 살짝 돌아갔다.
'알고리즘_코딩테스트 > 이것이 코딩테스트다' 카테고리의 다른 글
[그리디] 만들 수 없는 금액 (0) | 2021.12.12 |
---|---|
[그리디] 문자열 뒤집기 (0) | 2021.12.12 |
[그리드] 모험가 길드 (0) | 2021.12.12 |
[그래프] 커리큘럼 (0) | 2021.12.08 |
[그래프] 도시 분할 계획 (0) | 2021.12.08 |