Output/Algorithm.py 11

프로그래머스 4월 한달 랭킹 23,398위 상승, 스킬체크 레벨2 통과

프로그래머스 랭킹 (2023.04) 4월 초의 프로그래머스 랭킹은 62,138위였다. 한 문제 한 문제 풀어가니 5만 위 안으로 드는 건 꽤 금방이었다. 하루에 하나씩 푸는 게 원래 목표였으나 양보다는 질을 추구하면서 매일매일 조금씩 푸는 것으로 노선을 변경했다. 한 달이 지난 지금, 38,740위로 폴짝~! 한 달 뒤에는 2만 대를 목표로 하면서 파이썬 공식 홈페이지를 들여다보고 정리할 예정이다. 스킬체크 레벨2 세 번의 도전 끝에 레벨2 통과했다! 프로그래머스 스킬체크 문제는 해당 레벨의 '코딩테스트 연습' 문제들이 나오는 듯 하다. 테스트를 치고 나서 코딩테스트 연습 문제들을 풀었더니 눈에 익은 문제들이 나왔다. 시간 제한이 있는 테스트을 할 때마다 구글링 없이 프로그래밍할 수 있도록 공부해야겠다는..

Output/Algorithm.py 2023.05.03

프로그래머스 > 코딩테스트 연습 (23.04.11, 15) > 2018 Kakao Blind Recruitment > n진수 게임 (Lv.2)

N진수 게임은 0부터 1, 2, 3, 4··· 하나씩 커지는 십진법 숫자를 N진수로 바꾸고 한 자리씩 번갈아 말하는 게임이다. 예를 들어 이진법으로 게임을 진행하면 [0, 1, 2, 3, 4, 5, 6, 7, 8]은 [0, 1, 10, 11, 100, 101, 110, 111, 1000] 이렇게 바뀐다. 그러면 0 --- 1 --- 1 - 0 --- 1 - 1 --- 1 - 0 - 0 --- 1 - 0 - 1 --- 1 - 1 - 0 --- 1 - 1 - 1 --- 1 - 0 - 0 - 0 순서로 숫자를 하나씩 말하는 게임이다. 실제로 공대생 시절 술게임으로 많이 했었다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 ..

Output/Algorithm.py 2023.04.16

프로그래머스 > 코딩테스트 연습 (23.04.10) > 2018 Kakao Blind Recruitment > LZW(Lempel–Ziv–Welch) 압축 (Lv.2)

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr LZW (Lempel–Ziv–Welch) 압축 길이가 1인 모든 문자열을 포함하도록 사전을 초기화합니다. 현재 입력과 일치하는 사전에서 가장 긴 문자열 W를 찾습니다. 출력할 W 에 대한 사전 인덱스를 내보내고 입력에서 W를 제거합니다. 사전에 대한 입력에서 W 와 다음 기호를 추가합니다. 2단계로 이동합니다. 위키백과 Lempel–Ziv–Welch - Wikipedia From Wikipedia, the free encyclopedia Universal lossless data compression algo..

Output/Algorithm.py 2023.04.14

백준 > 문제 > 1914번 하노이 탑 : 재귀 호출, 점화식

재귀 호출 (recursive call) : 함수 내부에서 자기 자신(함수)를 또 호출하는 행위 : early return (멈춤코드) 없으면 무한 반복함 아래 그림 같은 경우는 반환값에 스스로를 불러오고 있다. 반복문과 차이가 뭔지 궁금하다. 1914번: 하노이 탑 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net 하노이 탑 문제를 풀다가 규칙을 찾았다. a(N) : N번째 원판이 옮겨지는 수는 N-1개의 원판을 옮긴 다음 (= a(N-1)번) 맨 아래 제일 큰 원판을 비어 있는 장대에 옮긴 뒤 (= 1번) 2번째 줄에 옮겨놓은 N-..

Output/Algorithm.py 2023.04.14

프로그래머스 > 코딩테스트 연습 (23.04.08) > 2022 Kakao Blind Recruitment > k진수에서 소수 개수 구하기 (Lv.2)

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 첫번째 시도 # 소수이면 True, 소수가 아니면 False 반환 함수 def checkPrime(num): if num == 1 or num == 0: return False # elif num == 2: # return True for i in range(2, int(num): if num%i == 0: return False return True 함수를 만드는 건 뚝딱 만들었지만, 이 함수로 인해 시간을 엄청 잡아먹었다. 자세한 건 세번째 시도를 참고하면 된다. # 함수 changeNumSys # inp..

Output/Algorithm.py 2023.04.14

프로그래머스 > 코딩테스트 연습 (23.04.06~7) > 2018 Kakao Blind Recruitment > 방금그곡 (Lv.2)

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 첫번째 시도 # 시작 시각과 끝 시각을 입력했을 때, # 재생시간을 반환 def duration(start, end): start = start.split(':') if end == "00:00": end = "24:00" end = end.split(':') diffHH = int(end[0])-int(start[0]) diffMM = int(end[1])-int(start[1]) # print(60*diffHH + diffMM) return 60*diffHH + diffMM 이건 어렵지 않았다. 첫 번째 ..

Output/Algorithm.py 2023.04.14

프로그래머스 > 코딩테스트 연습 (23.04.05) > 2021 카카오 채용연계형 인턴쉽 > 숫자 문자열과 영단어 (Lv.1)

정답률이 낮은 문제 풀이가 재밌지만, 오늘은 스크럼 준비를 해야해서 빨리 풀 수 있는 문제를 골랐다. Lv.1 다 풀고 Lv.2로 넘어가려했는데 조금 남겨두는 것도 좋겠다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 첫번째 시도 numList = ['0','1', '2', '3', '4', '5', '6', '7', '8', '9' ] numStr = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine'] input = 'one4seveneight' i = 1 w..

Output/Algorithm.py 2023.04.12

프로그래머스 > 코딩테스트 연습 (23.04.04) > 2019 개발자 겨울 인턴쉽 > 크레인 인형뽑기 (Lv.1) : numpy는 반복문을 줄여

# result에서 제일 순서가 느린 두 숫자가 같을 때, # count +2 를 하고, 해당 두 숫자를 제거 lengthResult = len(result) top1 = result[lengthResult-1] top2 = result[lengthResult-2] if top1 and top1 == top2: count += 2 result = result[0:lengthResult-2]​ 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 첫번째 시도 board = [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3..

Output/Algorithm.py 2023.04.12

프로그래머스 > 코딩테스트 연습 (23.04.03) > 2019 Kakao Blind Recuitment > 실패율 (Lv.1) : 런타임 에러, '0으로는 나눌 수 없다'

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 첫번째 시도 N = 5 stages = [2, 1, 2, 6, 2, 4, 3, 3] 라고 input을 주었을 때, # dictionary를 사용해서 각 단계의 실패율 구함 # failures = notPassed / challengers notPassed : {1: 1, 2: 3, 3: 2, 4: 1, 5: 0} challengers : {1: 7, 2: 6, 3: 3, 4: 1, 5: 0, 6: 0} failures : {1: 0.14285714285714285, 2: 0.5, 3: 0.66666666666..

Output/Algorithm.py 2023.04.11

프로그래머스 코딩테스트 연습 (2023년 신년 계획)

2022년 12월 29일 >> 2019 카카오 개발자 겨울 인턴십 >> 튜플 (Lv.2) : sorted(), lambda 활용 정렬 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내장함수 sorted() 혹은 list.sort() *list 한정 sorted(result, key=lambda x:result[x], reverse=True) * result라는 dictionary를 * key = lambda...? * reverse=Ture : 내림차순 / default는 오름차순 sorted(list) sorted(dictionary) => key 값 ..

Output/Algorithm.py 2023.04.11