개발일지
컨트롤 제트 .py 본문
728x90
반응형
- 문제 설명
컨트롤 제트숫자와 "Z"가 공백으로 구분되어 담긴 문자열이 주어집니다. 문자열에 있는 숫자를 차례대로 더하려고 합니다. 이 때 "Z"가 나오면 바로 전에 더했던 숫자를 뺀다는 뜻입니다. 숫자와 "Z"로 이루어진 문자열 s가 주어질 때, 머쓱이가 구한 값을 return 하도록 solution 함수를 완성해보세요.
제한사항- 1 ≤ s의 길이 ≤ 200
- 1,000 < s의 원소 중 숫자 < 1,000
- s는 숫자, "Z", 공백으로 이루어져 있습니다.
- s에 있는 숫자와 "Z"는 서로 공백으로 구분됩니다.
- 연속된 공백은 주어지지 않습니다.
- 0을 제외하고는 0으로 시작하는 숫자는 없습니다.
- s는 "Z"로 시작하지 않습니다.
- s의 시작과 끝에는 공백이 없습니다.
- "Z"가 연속해서 나오는 경우는 없습니다.
입출력 예s result"1 2 Z 3" 4 "10 20 30 40" 100 "10 Z 20 Z 1" 1 "10 Z 20 Z" 0 "-1 -2 -3 Z" -3
enumerate를 이용해서 인데스와 값을 불러와서 확인 후 인덱스 값을 이용해서 리스트에서 전에 값을 불러와 빼주었다.def solution(s): answer = 0 arr = s.split(" ") for i,v in enumerate(arr): if v != "Z": answer += int(v) elif v == "Z": answer -= int(arr[i-1]) return answer
enumerate()def solution(s): answer = 0 for i in range(len(s := s.split(" "))): answer += int(s[i]) if s[i] != "Z" else -int(s[i-1]) return answer //s := s.split(" ") 이부분은 처음 보는데 s를 s.split(" ")한걸로 하는거 같다 //인덱스 값으로만 해서 리스트에 접근해서 검증후 연산해주는 방식도 좋은거 같다
for idx, value in enumerate(some_list): print(idx, value)
- enumerate() 함수는 주어진 리스트(또는 튜플, 문자열 등의 순회 가능한 객체)의 인덱스와 값을 함께 제공해줍니다.
- 다른사람 풀이
- 문제 설명
- 컨트롤 제트숫자와 "Z"가 공백으로 구분되어 담긴 문자열이 주어집니다. 문자열에 있는 숫자를 차례대로 더하려고 합니다. 이 때 "Z"가 나오면 바로 전에 더했던 숫자를 뺀다는 뜻입니다. 숫자와 "Z"로 이루어진 문자열 s가 주어질 때, 머쓱이가 구한 값을 return 하도록 solution 함수를 완성해보세요.
제한사항- 1 ≤ s의 길이 ≤ 200
- 1,000 < s의 원소 중 숫자 < 1,000
- s는 숫자, "Z", 공백으로 이루어져 있습니다.
- s에 있는 숫자와 "Z"는 서로 공백으로 구분됩니다.
- 연속된 공백은 주어지지 않습니다.
- 0을 제외하고는 0으로 시작하는 숫자는 없습니다.
- s는 "Z"로 시작하지 않습니다.
- s의 시작과 끝에는 공백이 없습니다.
- "Z"가 연속해서 나오는 경우는 없습니다.
입출력 예s result"1 2 Z 3" 4 "10 20 30 40" 100 "10 Z 20 Z 1" 1 "10 Z 20 Z" 0 "-1 -2 -3 Z" -3
enumerate를 이용해서 인데스와 값을 불러와서 확인 후 인덱스 값을 이용해서 리스트에서 전에 값을 불러와 빼주었다.def solution(s): answer = 0 arr = s.split(" ") for i,v in enumerate(arr): if v != "Z": answer += int(v) elif v == "Z": answer -= int(arr[i-1]) return answer
- 다른사람 풀이
def solution(s):
answer = 0
for i in range(len(s := s.split(" "))):
answer += int(s[i]) if s[i] != "Z" else -int(s[i-1])
return answer
//s := s.split(" ") 이부분은 처음 보는데 s를 s.split(" ")한걸로 하는거 같다
//인덱스 값으로만 해서 리스트에 접근해서 검증후 연산해주는 방식도 좋은거 같다
- enumerate()
enumerate() 함수는 주어진 리스트(또는 튜플, 문자열 등의 순회 가능한 객체)의 인덱스와 값을 함께 제공해줍니다.
for idx, value in enumerate(some_list): print(idx, value)
728x90
반응형
'Algorithm' 카테고리의 다른 글
27. Remove Element (0) | 2023.08.24 |
---|---|
88. Merge Sorted Array (0) | 2023.08.24 |
최솟값 만들기 (0) | 2023.05.17 |
로또의 최고 순위와 최저 순위 (0) | 2023.04.03 |
문자열 내 마음대로 정렬하기 (0) | 2023.04.03 |