프로그래머스 21

[프로그래머스/Python] 카드 뭉치

문제 https://school.programmers.co.kr/learn/courses/30/lessons/159994 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 각 카드 뭉치 중 맨 앞의 카드만 사용하여 goal을 만들 수 있으면 Yes 리턴, 아니면 No 리턴 1. deque() 라이브러리 from collections import deque deque()를 이용하여 스택과 큐처럼 이용할 수 있다. deque() 생성 queue = deque() queue = deque([1,2,3,4,5]) deque() 함수 .appendleft(x) 맨 앞..

[프로그래머스/Python] 숫자 짝궁

문제 https://school.programmers.co.kr/learn/courses/30/lessons/131128 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr X, Y 의 공통된 수가 없으면 -1 리턴, 공통된 수가 있다면 최대값을 만들어서 리턴 1. min() 사용 0~9 갯수를 저장할 리스트를 만든다 for문을 돌면서 각 리스트에 갯수 저장 최대값을 만들기 위해 9부터 0까지 아래로 내려간다 둘 다 리스트 안이 0이 아닐 때 두 리스트 중 최솟값을 찾는다 : min() 최솟값만큼 숫자 반복 문자열 반복 : * 예) 'a' * 3 -> 'aaa..

[프로그래머스/Python] 같은 숫자는 싫어

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12906 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 연속된 숫자가 나오면 하나만 리스트에 넣어서 리턴 1. 스택 사용 stk = [] 맨 뒤에 추가 stk.append(값) 맨 뒤를 삭제 stk.pop() 맨 뒤의 결과만 본다 stk[-1] 맨 뒤의 결과와 넣을 값이 같지 않다면(연속되지 않는다는 뜻) append() def solution(arr): answer = [arr[0]] #1부터 len(arr)-1까지 돌면서 앞에 있으면 넣지않는..

카테고리 없음 2024.01.11

[프로그래머스/Python] 시저 암호

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12926 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문자에 n만큼 더하여 만든 암호 리턴 ord() 와 chr()을 사용 chr(정수) -> 아스키코드 문자로 바꿔줌 ord(문자) -> 아스키코드 숫자로 바꿔줌 ord('a') #97 ord('z') #122 ord('A') #65 ord('Z') #90 #26개가 있음 소문자, 대문자, 공백을 나눠서 생각 if, elif, else로 나눔 알파벳은 총 26개라는 것을 이용 def soluti..

[프로그래머스/Python] 신고 결과 받기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/92334 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 중복된 신고 제외 k번 이상 신고된 사용자를 '신고한 사람'에게 메일 전송한 값을 리턴 set() 사용 report를 set()를 이용하여 중복 요소 제거 report를 split()하여 신고한 사람(리스트[0])과 신고 당한 사람(리스트[1])을 나눈다 -> ["신고자 id1", "신고당한자 id1"] 2차원 배열 report 예시) [['frodo', 'neo'], ['apeach', '..

[프로그래머스/Python] 둘만의 암호

문제 https://school.programmers.co.kr/learn/courses/30/lessons/155652 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 스킵할 알파벳 제외 인덱스만큼 뒤의 알파벳으로 바꿔서 문자열로 리턴 chr() ord() 사용 chr(정수) -> 아스키코드 문자로 바꿔줌 ord(문자) -> 아스키코드 숫자로 바꿔줌 ord('a') #97 ord('z') #122 ord('A') #65 ord('Z') #90 #26개가 있음 a~z까지 아스키코드 숫자를 넣은 리스트 만들기 set() - set() 를 이용한 차집합 + s..

[프로그래머스/Python] 모의고사

문제 https://school.programmers.co.kr/learn/courses/30/lessons/42840 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1번, 2번, 3번 수포자 중 정답 수가 가장 많은 수포자 넘버를 리턴(같으면 모두 리턴) 1번, 2번, 3번 수포자의 규칙을 구현 정답과 비교한 후 제일 정답 수 카운트 -> 3개짜리 리스트에 0을 저장 정답 수가 가장 많은 수포자 넘버 리턴 -> max(리스트)와 같으면 모두 추가 수포자 규칙 구현 방법 및 정답과 비교하여 카운트 -리스트 사용 def solution(answers): n..

카테고리 없음 2024.01.06

[프로그래머스/Python] 문자열 밀기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/120921 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr A 문자열을 몇 번 밀면 B가 나오는지 리턴(없으면 -1) 1. 반복문 사용 A[-1] 맨 마지막 문자 A[:-1] 처음부터 맨 마지막 전까지의 문자열 def solution(A, B): answer = -1 #같다면 if A == B: answer = 0 #다르다면 else: #len -1 만큼 돌고 B와 같은지 확인 cnt = 0 for _ in range(len(A)-1): A = A..

[프로그래머스/Python] k의 개수

문제 https://school.programmers.co.kr/learn/courses/30/lessons/120887 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr i부터 j까지의 수에서 k가 몇 번 나오는지 리턴 1. count() 사용 i부터 j까지 반복문을 돌면서 정수를 문자로 저장 count()로 갯수 세기 def solution(i, j, k): a = '' for s in range(i, j+1): a += str(s) answer = a.count(str(k)) return answer

[프로그래머스/Python] 369 게임

문제 https://school.programmers.co.kr/learn/courses/30/lessons/120891 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 3, 6, 9일 때 박수를 친다 박수 치는 횟수 리턴 1. count() 사용 정수형인 order을 문자열로 바꾼다 count()로 3, 6, 9 갯수 세기 def solution(order): order = str(order) answer = order.count("3") + order.count("6") + order.count("9") return answer 2. map(lambda..