본문 바로가기

🔅코딩테스트 공부🔅213

[프로그래머스] Level1 문자열 내 마음대로 정렬하기(with python) https://school.programmers.co.kr/learn/courses/30/lessons/12915 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 꽤 많은 시간 고민을하다가 solution 이 명확하게 떠오르지 않아 구글링,, lambda(익명함수)에 대해 새롭게 알게됐다. 1. 해답 def solution(strings, n): return sorted(strings, key = lambda x: (x[n], x)) lambda에 대해서 잘 몰라서,, 봐도 모름,, lambda 특강 들어갑니다. 2023. 1. 31.
[프로그래머스] Level1 문자열 내 p와 y의 개수(with python) https://school.programmers.co.kr/learn/courses/30/lessons/12916 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 내가 작성한 코드 def solution(s): s = s.upper() if s.count('P') != s.count('Y'): return False else: return True return s.count('P') == s.count('Y') 라고 코드를 적을 경우 맞으면 True, 틀리면 False 값을 반환하기 때문에 if문을 적을 필요가 없다. 프로그래머스에서 숏코딩이 뭔지 배.. 2023. 1. 30.
[프로그래머스] Level1 문자열 내림차순으로 배치하기(with python) https://school.programmers.co.kr/learn/courses/30/lessons/12917 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 내가 작성한 코드 def solution(s): s = sorted(s, reverse=True) answer = '' for i in s: answer+=i return answer 나는 for문을 이용했는데, join 함수를 쓰면 더욱 간단하게 해결할 수 있다. def solution(s): return ''.join(sorted(s, reverse=True)) 2023. 1. 30.
[프로그래머스] Level1 같은 숫자는 싫어(with python) https://school.programmers.co.kr/learn/courses/30/parts/12081 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 내가 작성한 코드 def solution(arr): answer = [] answer.append(arr[0]) for i in range(len(arr)-1): if arr[i] == arr[i+1]: pass else: answer.append(arr[i+1]) return answer 문자열을 비교하며 새로운 list에 삽입하는 방식으로 문제를 해결했다. 풀긴 했지만 이 문제의 중분류는 '.. 2023. 1. 29.
[백준] 10828번 스택(with python) https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 1. 내가 작성한 코드 import sys n = int(sys.stdin.readline()) stack = [] for i in range(n): word = sys.stdin.readline().split() if word[0] == 'push': stack.append(word[1]) elif word[0] == 'pop': if len(stack) > 0: print(s.. 2023. 1. 29.
[프로그래머스] Level1 두 정수 사이의 합(with python) https://school.programmers.co.kr/learn/courses/30/lessons/12912 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 내가 작성한 코드 def solution(a, b): result = 0 if a > b: a, b = b, a for i in range (a,b+1): result += i return result a,b의 대소관계가 정해지지 않았으므로 if문을 통해 정해준다. 이후 result에 더해주면 된다. 또한 for문을 이용하지 않고, return sum(range(a,b+1)) 식을 이용해도 .. 2023. 1. 29.
[프로그래머스] Level1 나누어 떨어지는 숫자 배열(with python) https://school.programmers.co.kr/learn/courses/30/lessons/12910 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 내가 작성한 코드 def solution(arr, divisor): answer = [] for i in arr: if i % divisor == 0: answer.append(i) if len(answer) == 0: return [-1] else: return sorted(answer) 2023. 1. 29.
[프로그래머스] Level1 가운데 글자 가져오기(with python) https://school.programmers.co.kr/learn/courses/30/lessons/12903 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 내가 작성한 코드 def solution(s): if len(s) % 2 == 0: return s[len(s)//2-1:len(s)//2+1] else: return s[len(s)//2] 문자열 슬라이싱을 이용해서 풀었슴~ 2023. 1. 29.
[프로그래머스] Level1 2016(with python) https://school.programmers.co.kr/learn/courses/30/lessons/12901 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 내가 작성한 코드 cal = {1:'FRI',2:'SAT',3:'SUN', 4:'MON',5:'TUE',6:'WED',0:'THU'} def solution(a, b): day = 0 while (a-1) != 0: if (a-1)in[1,3,5,7,8,10,12]: day+= 31 elif (a-1) in[4,6,9,11]: day+= 30 else: day+=29 a -= 1 day +=.. 2023. 1. 29.