목록열공일기/코딩연습 (41)
초보 개발자의 일기
어려웠던 문제...! 1레벨 문제중에 가장 오래걸렸다. 풀어서 다행이다. 순서대로 누를 번호가 담긴 배열 numbers, 왼손잡이인지 오른손잡이인지를 나타내는 문자열 hand가 매개변수로 주어질 때, 각 번호를 누른 엄지손가락이 왼손인지 오른손인지를 연속된 문자열 형태로 나타내는 문제이다. 사용한 언어는 Python3 이다. Manhattan distance를 이용해서 풀었다. 숫자별 좌표(finger)를 설정하고, manhattan 함수를 이용하여 거리를 구하고, 더 가까운 쪽의 손가락으로 키패드를 누른다. 키패드를 누르면 그 자리의 좌표를 손가락 변수(L_finger OR R_finger)에 저장한다. 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "r..
스테이지의 개수 N, 게임을 이용하는 사용자가 현재 멈춰있는 스테이지의 번호가 담긴 배열 stages가 매개변수로 주어질 때, 실패율이 높은 스테이지부터 내림차순으로 스테이지의 번호가 담겨있는 배열을 만드는 문제이다. 사용한 언어는 Python3이다. 사용자가 멈춰있는 스테이지를 구하고, 해당 스테이지를 도전한 사용자와 멈춰있는 사용자의 수를 계산하여 실패율을 구한다. 처음 result를 만들 때 모든 스테이지를 통과한 사용자는 제외하기 위해 스테이지 1부터 스테이지 5까지만 범위로 잡았다. 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 ..
블로그를 안쓴지 너무 오래됐다. 하지만 나에겐 쌓아둔 프로그래머스 커밋 기록이 있다...! 이번 문제는 a와 b를 입력받아 2016년 a월 b일이 무슨 요일인지 알아내는 문제이다. 단, 2016년 1월 1일은 금요일이다. 사용 언어는 Python3 이다. 요일은 7일씩 반복되므로 1월 1일부터 입력받은 날짜까지의 일 수를 계산하여 7로 나눈 나머지로 요일을 알아내면 된다. 코딩테스트 연습 - 2016년 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까 programmers.co.kr def solution(a, b): day = ['..
숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 주어지고, s가 의미하는 원래 숫자를 return 하는 문제이다. 딕셔너리를 이용하여 풀었다. 사용한 언어는 Python3이다. 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr def solution(s): word_dict = {'zero':'0','one':'1', 'two':'2', 'three':'3', 'four':'4', 'five':'5', 'six':'6', 'seven':'7', 'eight':'8'..
마라톤에 참여한 선수와 완주한 선수들의 이름이 담긴 배열을 입력받아 완주하지 못한 선수의 이름을 return하는 문제이다. 제목이 '완주하지 못한 선수'이다. 어제 폐막한 올림픽이 생각났다. 코로나로 힘든 상황에서 선수들이 얼마나 노력했을지 상상조차 가지 않아 안타까운건 더 안타깝고 기쁜건 더 기쁘게 느껴졌다. 간간히 참가자 명단에 'DNS'라고 적혀있는 선수들이 있었는데, 확진이나 격리로 인해 '경기에 참여하지 못한' 선수들이었다. '실격'이 아닌 '미출전'으로 기록되는 이유는 그로 인한 추가적 피해를 입지 않도록 막기 위한 조치라고 한다. 하지만 스스로를 증명할 수 있는 기회를 잃어버리게 된 선수들은 이미 큰 상처를 받지 않았을까 생각되어 마음이 아프다. 이제 다시 3년이 남았는데, 그 날엔 꼭 마스..
길이가 n이고, "수박수박수박수..."와 같은패턴을 유지하는 문자열을 리턴하는 함수를 만드는 문제이다. 쉬워서 금방 풀었다. 좋은 코드인지는 모르겠지만..! 사용한 언어는 Python3이다. 코딩테스트 연습 - 수박수박수박수박수박수? 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 제한 programmers.co.kr def solution(n): answer = '수박'*(n//2) if (n%2==0) else '수박'*(n//2)+'수' return answer Python 삼항연산자를 이용해 풀었다. "수박"이 2글자라 //2로 나눠 정수로 계..