본문 바로가기

코딩 공부/프로그래머스27

프로그래머스 전화번호 목록 요즘 진짜 현망진창 놀아제끼다가 이제 좀 정신차리고 다시 코딩연습 시작! 고득점 kit로 진행하는게 더 빠를거같아서 이제는 level로 안하고 고득점 kit의 테마별로 하려고 한다! 오늘 풀어본 문제는 전화번호 목록이다! 문제는 다음과 같다. 문제 설명 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조대 : 119 박준영 : 97 674 223 지영석 : 11 9552 4421 전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으면 true를 r.. 2021. 2. 16.
프로그래머스 코딩연습_ 신규 아이디 추천 오늘 풀어본 문제는 프로그래머스 코딩연습! 신규아이디 추천 문제이다... 문제는 다음과 같다 [문제 설명] 카카오에 입사한 신입 개발자 네오는 카카오계정개발팀에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. 네오에게 주어진 첫 업무는 새로 가입하는 유저들이 카카오 아이디 규칙에 맞지 않는 아이디를 입력했을 때, 입력된 아이디와 유사하면서 규칙에 맞는 아이디를 추천해주는 프로그램을 개발하는 것입니다. 다음은 카카오 아이디의 규칙입니다. 아이디의 길이는 3자 이상 15자 이하여야 합니다. 아이디는 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.) 문자만 사용할 수 있습니다. 단, 마침표(.)는 처음과 끝에 사용할 수 없으며 또한 연속으로 사용할 수 없습.. 2021. 2. 9.
프로그래머스 카카오 개발자 겨울 인턴십(2019) _ 크레인 인형 뽑기 오늘 풀어본 문제는 2019 카카오 개발자 겨울 인턴십 문제였던 크레인 인형뽑기!!! 2차원 배열, 행렬을 잘 이해하는 것이 중요하다 문제는 다음과 같다. 게임 화면은 1 x 1 크기의 칸들로 이루어진 N x N 크기의 정사각 격자이며 위쪽에는 크레인이 있고 오른쪽에는 바구니가 있습니다. (위 그림은 5 x 5 크기의 예시입니다). 각 격자 칸에는 다양한 인형이 들어 있으며 인형이 없는 칸은 빈칸입니다. 모든 인형은 1 x 1 크기의 격자 한 칸을 차지하며 격자의 가장 아래 칸부터 차곡차곡 쌓여 있습니다. 게임 사용자는 크레인을 좌우로 움직여서 멈춘 위치에서 가장 위에 있는 인형을 집어 올릴 수 있습니다. 집어 올린 인형은 바구니에 쌓이게 되는 데, 이때 바구니의 가장 아래 칸부터 인형이 순서대로 쌓이게.. 2021. 1. 31.
프로그래머스 _ 나누어 떨어지는 숫자배열 오늘 풀어본 문제는 나누어 떨어지는 숫자배열이다! 요것이다 처음에 그냥 막 읽고 써내린 코드 def solution(arr, divisor): answer = [] for i in arr: for j in divisor: if i % k ==0: answer.append(int(i)) return answer ㅋㅋㅋㅋㅋ 말도안되는 코드.. 이당 구글링신님에게 도움을 요청하여 바로 와~~ 대박 ! 하고 이해 갔던 방식을 써서 써내린 코드는! def solution(arr, divisor): answer = [] for i in range(len(arr)): if arr[i] % divisor == 0 : answer.append(arr[i]) if len(answer)== 0: answer.append(-.. 2021. 1. 30.
프로그래머스 코딩연습 하샤드 수 구하기 어제는 너무 어려워서 겁을 먹게되어.. 쉬워 보이는 것을 풀었다 긍정회로를 돌리자면.. 이제 이런 문제는 금방 푸는것 같다! 처음에는 어떻게 푸는지도 몰랐는데 이제는 대강 머리가 돌아가는 것 같아 좋다 부정회로를 돌리자면.. 이제 이런문제는 그만풀고 더 어려운걸 풀어야하는데 ㅠㅠㅠ 어렵다 어려워 문제는 이렇다!! 내가 푼 답은 def solution(x): part_x = [] x_ = str(x) x_sum = 0 for i in x_: part_x.append(i) for i in part_x: x_sum += int(i) if x % x_sum == 0: return True else: return False 요로코롬 된다~~ 맨날 푸는 방식으로 푼다... 1. 일단.. x가 18 이면 1이랑 8로.. 2021. 1. 27.
프로그래머스 체육복 오늘 풀어본 문제는 프로그래머스 체육복! 엄청 어려웠따 ... ㅠㅠ 그래서 다른 코드들 참고 했다 이번 문제는 제한사항을 잘 파악하는 데 요점을 두어야 했다. lost와 reserve 값에 중복이 없어야하며 왼쪽부터 오른쪽으로 훑어야 했다. 또한 집합끼리 연산을 할 수있는 set함수를 썼다. def solution(n, lost, reserve): reserve_del = set(reserve) - set(lost) lost_del = set(lost)- set(reserve) for i in reserve_del: if i-1 in lost_del: lost_del.remove(i-1) elif i+1 in lost_del: lost_del.remove(i+1) return n - len(lost_de.. 2021. 1. 26.