알고리즘/프로그래머스(24)
-
[프로그래머스/python] 영어 끝말잇기
영어 끝말잇기 Summer/Winter Coding(~2018) 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 단어의 끝 문자를 따로 저장해서 다음 단어의 앞과 비교를 진행했습니다. 위치의 경우 리스트의 크기를 통해서 몫과 나머지를 통해서 구했습니다. 풀이코드 def solution(n, words): answer = [] count = 0 end = words[0][0] tmp = [] for word in words: if (word[0] == end) and (word not in tmp): tmp.append(word) end..
2022.08.23 -
[프로그래머스/python] 삼각달팽이
삼각 달팽이 월간 코드 챌린지 시즌1 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 2차원 배열에서 1부터 삼각형의 방향따라 증가시켜가며 배열을 채워갔습니다. 그리고 크기는 방향을 전환할수록 1씩 줄어듭니다. 값을 1부터 시작하며 아래로 내려가는 변부터 시작합니다. (x,y) 로 설정되었다면 (x-1, y) 을 삼각형의 크기(N)만큼 진행합니다. 이후 아랫변을 진행하게 되는데 (x, y+1) 을 진행합니다. 이후 남은 변을 채울 시 대각선으로 역으로 올라가기 때문에 (x-1, y-1) 을 진행합니다. 매번 방향을 전환할 때 마다 ..
2022.08.23 -
[프로그래머스/python] 배달
배달 Summer/Winter Coding(~2018) 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 다익스트라로 풀었습니다. 풀이코드 def min_index(li,visit): min_val = 9999999 min_idx = 0 for i in range(len(li)): if li[i]==0 or visit[i]==True: continue if li[i] costs[parent] + cost: costs[target] = costs[parent] + cost parents.append(target) return sum(1 f..
2022.08.23 -
[프로그래머스/python] 두 큐 합 같게만들기
두 큐 합 같게 만들기 2022 KAKAO TECH INTERNSHIP 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 queue1, queue2 을 합치고 index 이동을 하면서 queue1의 합에서 해당 인덱스의 값을 더하고 빼서 목표값이 도달하게 했습니다. 가장먼저 총합이 홀수인 경우 2개로 나눌 수 없습니다. 두 큐를 합쳐서 [queue1, queue2] 의 상태로 만든 뒤 queue1의 합은 sum[start: end]로 나타낼 수 있습니다. queue1의 합이 목표값보다 크다면 start 인덱스 값을 합에서 빼고 queue..
2022.08.23 -
[프로그래머스/python] 추석트래픽
추석 트래픽 2018 KAKAO BLIND RECRUITMENT 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 시간을 모두 정수의 값으로 변환을 진행한 다음, 정렬을 진행해서 처음로그부터 각 로그의 처리시간의 끝을 포함하여 1초를 계산하여 포함되는 트래픽 개수를 셉니다. 응답완료시간 S는 작년 추석인 2016년 9월 15일만 포함하여 고정 길이 2016-09-15 hh:mm:ss.sss 형식으로 되어 있다. 이를 통해서 2016-09-15은 필요가 없고 hh:mm:ss.sss 부분만 필요로 하게됩니다. hh:mm:ss.sss를 다루기..
2022.08.23 -
[프로그래머스/javascript] 3진법 뒤집기
3진법 뒤집기 월간 코드 챌린지 시즌1 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 자연수 n를 3진법으로 나타내기 위해서 3으로 나누고 나머지와 몫을 통해서 표현했습니다. 그 이후는 지수(e)를 증가시켜가며 답을 도출했습니다. 풀이코드 function solution(n) { let answer = 0; let li = [] while( n > 0){ li.unshift((n % 3)); n = parseInt(n / 3); } let e = 1; li.forEach( element =>{ answer += element*e; e..
2022.08.15