나의 작은 valley
[알고리즘] 럭키 스트레이트 본문
728x90
문제
- 숫자로된 문자열이 들어온다.
- 자리수를 기준으로 왼쪽 숫자의 합, 오른쪽 숫자의 합이 같으면 LUCKY, 아니면 READY를 출력하는 프로그램을 만들라.
입력 조건
- N : 정수 (10 <= N <= 99999999) , 자리수는 항상 짝수 형태
출력 조건
- 럭키스트레이트가 사용가능하면 , LUCKY 출력
- 불가능하면, READY 출력
입력 예시
123402
출력 예시
'LUCKY'
생각의 흐름
I) 음 일단은 sum1, sum2를 만든 다음에 sum 1에는 반갈죽 앞부분을 더해주고 sum2에는 반갈죽 뒷부분을 더해준 다음에 if 문을 걸어서 sum1 과 sum2가 같으면 lucky를 출력하고 다르면 ready를 출력해야겠다
II) 앞부분만을 더해주는 방법은 for 문을 거는데 range를 sum(len(data) // 2 + 1)로 해준 다음에 sum1 += data[i]를 하고 del data[0]을 해준다. 데이터를 지우는 이유는 for문이 끝났을때 주워진 data에 앞부분이 지워진 상태이고 싶기 떄문이다.
III) 이후 for문을 하나 더 걸고 range는 전과 같이 해준 다음에 sum2 += data[i]를 해주면 된다. 왜냐면 이 시점에서 data의 전반부는 del로 인해 지워졌기 때문이다.
코드
728x90
'Computer Science > [알고리즘]' 카테고리의 다른 글
[알고리즘] 문자열 압축 (0) | 2023.07.29 |
---|---|
[알고리즘] 문자열 재정렬 (0) | 2023.07.15 |
[알고리즘] 게임 개발 (0) | 2023.07.15 |
[알고리즘] 왕실의 나이트 (0) | 2023.07.15 |
[알고리즘] 시각 (0) | 2023.07.15 |
Comments