Programmers / 1단계 / 달리기 경주 / python
·
Coding Test/Programmers
코딩테스트 연습 - 달리기 경주 | 프로그래머스 스쿨 (programmers.co.kr) 문제 설명 얀에서는 매년 달리기 경주가 열립니다. 해설진들은 선수들이 자기 바로 앞의 선수를 추월할 때 추월한 선수의 이름을 부릅니다. 예를 들어 1등부터 3등까지 "mumu", "soe", "poe" 선수들이 순서대로 달리고 있을 때, 해설진이 "soe"선수를 불렀다면 2등인 "soe" 선수가 1등인 "mumu" 선수를 추월했다는 것입니다. 즉 "soe" 선수가 1등, "mumu" 선수가 2등으로 바뀝니다. 선수들의 이름이 1등부터 현재 등수 순서대로 담긴 문자열 배열 players와 해설진이 부른 이름을 담은 문자열 배열 callings가 매개변수로 주어질 때, 경주가 끝났을 때 선수들의 이름을 1등부터 등수 순..
Programmers / 1단계 / 개인정보 수집 유효기간 / python
·
Coding Test/Programmers
코딩테스트 연습 - 개인정보 수집 유효기간 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 (테스트 실패, 정확성 65) def solution(today, terms, privacies): arr = [] dic = {} result = [] for i in terms: arr.append(i.split()) for i in arr: dic[i[0]] = int(i[1]) for i in privacies: year = int(i[0:4]) month = int(i[5:7]) + dic[..
Programmers / 1단계 / 바탕화면 정리 / python
·
Coding Test/Programmers
https://school.programmers.co.kr/learn/courses/30/lessons/161990 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제설명 코딩테스트를 준비하는 머쓱이는 프로그래머스에서 문제를 풀고 나중에 다시 코드를 보면서 공부하려고 작성한 코드를 컴퓨터 바탕화면에 아무 위치에나 저장해 둡니다. 저장한 코드가 많아지면서 머쓱이는 본인의 컴퓨터 바탕화면이 너무 지저분하다고 생각했습니다. 프로그래머스에서 작성했던 코드는 그 문제에 가서 다시 볼 수 있기 때문에 저장해 둔 파일들을 전부 삭제하기로 했습니다. 컴퓨터 바탕화면은 ..
20240125/ programmers/ 1단계/ python
·
Coding Test/Programmers
1. 코딩테스트 연습 - 신규 아이디 추천 | 프로그래머스 스쿨 (programmers.co.kr) 코드 . 모범 답안 def solution(new_id): answer = '' # 1 new_id = new_id.lower() # 2 for c in new_id: if c.isalpha() or c.isdigit() or c in ['-', '_', '.']: answer += c # 3 while '..' in answer: answer = answer.replace('..', '.') # 4 print(answer) if answer[0] == '.': answer = answer[1:] if len(answer) > 1 else '.' if answer[-1] == '.': answer = an..
20240124/ programmers/ 1단계/ python
·
Coding Test/Programmers
1. 코딩테스트 연습 - 크레인 인형뽑기 게임 | 프로그래머스 스쿨 (programmers.co.kr) 코드 . 모범답안 def solution(board, moves): basket=[] count=0 for m in moves: for b in range(len(board)): if board[b][m-1]!=0: basket.append(board[b][m-1]) board[b][m-1]=0 if len(basket)>1: if basket[-1]==basket[-2]: basket.pop(-1) basket.pop(-1) count+=2 break return count 2. 코딩테스트 연습 - 햄버거 만들기 | 프로그래머스 스쿨 (programmers.co.kr) 3. 코딩테스트 연습 - 키패드..
20240123/ programmers/ 1단계/ python
·
Coding Test/Programmers
1. 코딩테스트 연습 - 완주하지 못한 선수 | 프로그래머스 스쿨 (programmers.co.kr) 해시 문제 코드 . 모범 답안 def solution(participant, completion): result='' participant.sort() completion.sort() for i in range(len(completion)): if(participant[i]!=completion[i]): return participant[i] return participant[len(participant)-1] ■ Hash() def solution(participant, completion): answer = '' hash_dict={} # hash dictionary sumHash=0 for i in..
20240122/ programmers/ 1단계/ python
·
Coding Test/Programmers
1. 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 | 프로그래머스 스쿨 (programmers.co.kr) 2. 코딩테스트 연습 - 체육복 | 프로그래머스 스쿨 (programmers.co.kr) 코드 . 모범 답안 def solution(n, lost, reserve): # 정렬 lost.sort() reserve.sort() # lost, reserve에 공통으로 있는 요소 제거 for i in reserve[:]: if i in lost: reserve.remove(i) lost.remove(i) # 체육복 빌려주기(나의 앞 번호부터 확인) for i in reserve: if i-1 in lost: lost.remove(i-1) elif i+1 in lost: lost.remove(i+1) ..
20240119/ programmers/ 1단계/ python
·
Coding Test/Programmers
1. 코딩테스트 연습 - 문자열 나누기 | 프로그래머스 스쿨 (programmers.co.kr) 문제 설명 문자열 s가 입력되었을 때 다음 규칙을 따라서 이 문자열을 여러 문자열로 분해하려고 합니다. 먼저 첫 글자를 읽습니다. 이 글자를 x라고 합시다. 이제 이 문자열을 왼쪽에서 오른쪽으로 읽어나가면서, x와 x가 아닌 다른 글자들이 나온 횟수를 각각 셉니다. 처음으로 두 횟수가 같아지는 순간 멈추고, 지금까지 읽은 문자열을 분리합니다. s에서 분리한 문자열을 빼고 남은 부분에 대해서 이 과정을 반복합니다. 남은 부분이 없다면 종료합니다. 만약 두 횟수가 다른 상태에서 더 이상 읽을 글자가 없다면, 역시 지금까지 읽은 문자열을 분리하고, 종료합니다. 문자열 s가 매개변수로 주어질 때, 위 과정과 같이 문..