프로그래머스(파이썬)/LV.1(파이썬)

    문자열 내 p와 y의 개수→Counter() 함수!!★

    나의 풀이 def solution(s): answer = True cnt_p=0 cnt_y=0 for i in s: if i == 'p' or i =='P': cnt_p+=1 if i == 'y' or i =='Y': cnt_y+=1 print(cnt_p) print(cnt_y) if cnt_p != cnt_y: return False else: return True 다른 사람의 풀이 from collections import Counter def solution(s): # 함수를 완성하세요 c = Counter(s.lower()) return c['y'] == c['p'] ▶ Counter() 는 각 해당 요소가 몇개 씩 있는지 dictionary 형태로 리턴값을 반환해 준다. ▶ 예를 들면 s매개변수..

    정수 제곱근 판별 → 1/2 , math.sqrt(), math.pow()

    나의 풀이 import math def solution(n): x = math.sqrt(n) if x != int(x): return -1 return math.pow(x+1, 2) ▶ 핵심은 x가 정수인지를 판단하는 것 다른 사람의 풀이 import math def solution(n): x = n**(1/2) if x % 1 ==0: return (x+1)**2 return -1 ▶ **(1/2)은 제곱근을 의미한다.

    자연수 뒤집어 배열로 만들기 → map의 reversed★

    나의 풀이 def solution(n): answer = [] for i in str(n): answer.append(int(i)) answer.reverse() return answer ▶ 일단은 정수 n을 String 타입으로 바꾼면서 동시에 임시변수 i를 통해 각 "개별 문자"에 접근한다. ▶ reverse() 메서드를 통해 answer 리스트를 뒤집은 다음 return 해준다. 다른 사람의 풀이 def digit_reverse(n): return list(map(int, reversed(str(n)))) ▶ reversed() 라는 것이 존재한다.