본문 바로가기
개발노트/coding test

[구름 level 알고리즘 문제풀이] 거스름돈, 띄어쓰기 제거하기

by lovvepearl 2022. 1. 6.

1. 거스름돈

물건 값을 price, 잔돈을 change 로 정의한다.

물건가격의 일의자리는 0임으로 십원 이상의 가격을 가짐을 알 수 있다. 

따라서 change를 10으로 나눴을 때 나머지가 0과 같다.

 

잔돈의 500원 갯수를 a, 100원의 갯수를 b, 50원의 갯수를 c, 10원의 갯수를 d로 정의한다.

change를 500으로 나누고 소수점 이하의 수 버림을 통해 a의 값을 얻을 수 있고

change를 500으로 나눈 나머지를 다시 100으로 나누고 소수점 이하의 수 버림을 통해 b값을 얻어낸다.

이러한 방식으로 c,d 값도 구할 수 있다. 

물건값이 230원일때 거스름돈은 1 * 500 + 2 * 100 + 1 * 50 + 2 * 10 = 770원

 

 

물건값이 550원일때 거스름돈은 0 * 500 + 4 * 100 + 1 * 50 + 0 * 10 = 450원

 

 

2. 띄어쓰기 제거

input을 통해 입력된 문자열을 split으로 쪼개면

띄어쓰기가 구분선이 되어 배열형태의 데이터가 된다.

예) input('This is sparta !').split() = ['This', 'is', 'sparta', '!']

 

띄어쓰기는 (배열의 길이 - 1) 개 임으로

이 배열의 길이인 n 만큼 반복문을 돌리면

n-1까지 돌면서 배열의 값을 다 더한 값을 sentence로 정의한다.

 

이때, 문자열이 더해지면서 띄어쓰기가 제거됨을 알 수 있다.