코딩테스트(3)
-
문자열 내 p와 y의 개수
대소문자가 섞여있기 때문에 lower() 함수를 사용했습니다. if 문으로 'P' or 'p' 와 같이 써도 상관없습니다. for문을 돌며 문자열 요소 하나씩 if문으로 비교합니다. 같이 p, y와 같은지 비교하고 각각 카운트합니다. 마지막으로 if문을 사용해 p카운트와 y카운트가 다르면 False값을 가지도록 했습니다. def solution(s): answer = True s = s.lower() p_count = 0 y_count = 0 #다르면 false for string in s: if string is 'p': p_count += 1 if string is 'y': y_count += 1 if p_count is not y_count: answer = False return answer
2019.12.04 -
두 정수 사이의 합
입출력 예의 3번째처럼 a가 더 클 수도 있기 때문에 리스트에 넣고 sorted()를 사용해서 정렬했습니다. def solution(a, b): answer = 0 temp = [a, b] x = sorted(temp) a = x[0] b = x[1] for i in range(a, b+1): answer += i return answer
2019.12.03 -
같은 숫자는 싫어
프로그래머스 같은 숫자는 싫어 문제 풀이 제한사항에 원소 크기 조건이 0~9 여서 arr에 10을 추가시키고 for문을 돌려 현재 선택된 원소와 다음번 원소를 비교하고 같지 않으면 현재 원소의 인덱스를 temp리스트에 넣습니다. temp리스트에 들어간 인덱스를 사용해서 중복된 값을 제거하고 순서를 유지하며 answer를 구했습니다. def solution(arr): answer = [] arr.append(10) temp = [] for i in range(0, len(arr)-1): if arr[i] is not arr[i+1]: temp.append(i) for t in temp: answer.append(arr[t]) return answer
2019.12.03