본문 바로가기

프로그래머스25

[ 파이썬(python) ] 프로그래머스 level1 - 이상한 문자 만들기 📌 이상한 문자 만들기 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수를 완성하세요. 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다. 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다. 💡 나의 풀이 s.split(' ')의 중요성을 깨닫게 해준 문제였다. 각 단어는 하나 이상의 공백문자라고 했는데, 문제를 간과하고 s.split()만 사용해서 정답률이 31%로 나왔었다. for ~ in range(len)), for ~ in enumerate 중 내가 쓰기 편한 코드인 enumerate를 사용했다. 다른사람은 내가 작성한 코드를 한 줄로 표현했다. 이 코드를 한 줄로 표현하니까 코드가.. 2021. 4. 2.
[ 파이썬(python) ] 프로그래머스 level1 - 휴대폰 번호 가리기 📌 휴대폰 번호 가리기 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수를 완성해주세요. 💡 나의 풀이 처음에 든 생각은 for range(len))문을 사용하려고 했는데, 가독성을 위해 enumerate로 수정했다. 하지만, 한 줄로 작성한 나의 코드마저 다른 사람의 코드에 비해서는 긴 코드였다. s[0:-4]까지는 *로 정해져있으니까 그것을 유지한채 나머지 s[-4:]만큼만 떼서 가져오면 됐었는데 문제풀때는 왜 생각이 안 났을까😓 😓 # 내 코드 def solution(ㄴ): return ''.join(['*' if idx < len(s)-4 else val for idx, val in enumerate(s)]) # 다른사람의 코드 def solution(s): r.. 2021. 4. 2.
[ 파이썬(python) ] 프로그래머스 level1 - 짝수와 홀수 📌 짝수와 홀수 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환해라. 💡 나의 풀이 문제 자체는 쉽지만 다른 사람의 코드 중 논리연산자와 단락평가를 이용해서 표현한게 신기해서 작성했다. # 내 코드 def solution(num): return &#39;Even&#39; if num % 2 == 0 else &#39;Odd&#39; # 다른 사람의 코드 def solution(num): return num % 2 == 0 and &#39;Even&#39; or &#39;Odd&#39; 2021. 4. 1.
[ 자바스크립트(JS), 파이썬(python) ] 프로그래머스 level1 - 정수 제곱근 판별 📌 정수 제곱근 판별 n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하는 문제. 1️⃣ 파이썬(Python) 풀이 root를 선언해서 root * root의 값과 n이 같은지 아닌지를 판별하면 된다. 이때, 같다면 root+1값을 제곱해주고 아니면 -1을 반환하면 된다. root를 선언하지 않고 return문에 풀어서 작성해도 되는데, 가독성을 위해 줄여봤다. # 내 코드 def solution(n): root = int(n ** 0.5) return (root+1) * (root+1) if root * root == n else -1 # 내 코드를 줄여쓴 코드 def solution1(n): root = int(n ** 0.5) return (root+1) ** 2 if root ** 2 == n el.. 2021. 4. 1.
[ 파이썬(python) ] 프로그래머스 level1 - 자연수 뒤집어 배열 만들기 📌 자연수 뒤집어 배열 만들기 12345를 [5,4,3,2,1]로 만들면 된다. 💡 나의 풀이 문제를 풀면서 배운점이 있는데, reverse와 reversed의 차이점이다. sorted 사용할 때만 reversed를 사용했었는데, 이런 차이점이 있는것은 몰랐다. 이제부터 까먹지 않도록 잘 외워놔야겠다. array.reverse(): list에서만 사용가능하다. reversed(seq): 메서드(method)나, 시퀀스(sequence)를 지원하는 객체에서 사용 가능하다. sequence(시퀀스): str(문자형), list(리스트), tuple(튜플) 참고로 reverse, reversed 모두 시간복잡도는 O(N)이다. reference: 파이썬 공식문서 - reverse 파이썬 공식문서 - rever.. 2021. 4. 1.