etc/coding test
-
프로그래머스 - 쇠막대기 (JavaScript)etc/coding test 2020. 5. 5. 14:43
문제 : https://programmers.co.kr/learn/courses/30/lessons/42585 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 해결 과정 1) 처음 시도한 방법 -> 테스트 케이스 1개가 시간초과 1) 쇠막대기를 보관하는 스택을 만든다. 2) input으로 들어온 string을 순환한다. 2-1) "(" 인 경우 2-1-1) 다음 인덱스에 ")"이 나온다? -> 레이저 2-1-2) 스택에 남아있는 모든 막대기에 레이저를 추가한다. 다음인덱스까지 확인했으므로 i+=1 해줌 2-1-2) 레이저가 아니라면 새로운 쇠막대기의 ..
-
프로그래머스 - 문자열 압축 (JavaScript)etc/coding test 2020. 5. 4. 08:30
문제: https://programmers.co.kr/learn/courses/30/lessons/60057 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 해결 과정 1개씩 자르고 길이 확인 2개씩 자르고 길이 확인 3개씩 자르고 길이 확인 ... 위의 과정을 최대로 자를 수 있는 길이인 string.length/2 한 후 소수점 이하는 버린 값까지 반복한다. Ex. 길이가 5인 string이면 최대로 자를 수 있는 길이는 2다. 1. 자를 수 있는 길이를 1부터 max까지 반복하면서 2. 문자열을 압축하고 그 길이가 최소값이면 answer를 교체한..
-
프로그래머스 - 튜플 (JavaScript)etc/coding test 2020. 4. 28. 09:45
문제:https://programmers.co.kr/learn/courses/30/lessons/64065 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 해결 과정 처음에 문제를 잘못 이해해서 튜플을 나타내는 집합의 요소 중 가장 긴 게 곧 튜플인 줄 알았다.. 집합으로 각 요소의 위치를 확인할 수 있으려면 집합의 크기가1인 것부터 차례대로 확인해야 했음 인풋이 string이기 때문에 원하는 모양을 만드는 게 조금 복잡했다. 1. 인풋을 배열로 쪼갠다. 2. 배열을 정렬한다. 3. 정렬된 배열을 순환하면서 튜플을 채운다. 코드 function sol..
-
프로그래머스 - 124 나라의 숫자 (JavaScript)etc/coding test 2020. 4. 27. 20:33
문제 : https://programmers.co.kr/learn/courses/30/lessons/12899 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 해결 과정 처음 생각한 모양은 이랬다.. 그래서 너비우선탐색으로 푸는 건가? 했는데,, 코드를 어떻게 짜야 할 지 감이 안 왔다;; 깊이우선탐색은 많이 풀어봐서 재귀로 만들겠는데.. 너비우선탐색은 어떻게... 하는거지..? 그래서 일단 규칙을 생각해보려고 노력했다. depth가 1일 때는 3까지 표현할 수 있고, depth가 2일 때는 3 + 9 해서 12까지 표현할 수 있고, depth가 3일..
-
프로그래머스 - 탑 (JavaScript)etc/coding test 2020. 4. 26. 18:07
문제: https://programmers.co.kr/learn/courses/30/lessons/42588 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 해결 과정 1. heights 배열을 순환한다. 2. 현재 인덱스에서 왼쪽으로 순환하면서 탑의 높이가 높은 탑을 찾는다. 3. 없을 경우 0을 삽입 코드 function solution(heights) { var answer = []; for (let i = 0; i = 0; j--) { if (heights[j..
-
프로그래머스 - 타겟 넘버 (JavaScript)etc/coding test 2020. 4. 23. 20:46
문제:https://programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 해결 과정 모든 원소를 사용해야하는데 숫자는 더하거나 빼는 2가지 경우의 수가 있다. 모든 원소를 더하거나 빼보는 모든 경우의 수를 탐색하지 않고 타겟넘버를 구할 수 있는 방법은 생각이 나지 않아서 깊이우선탐색으로 모든 케이스를 탐색하기로 했다. 1. 현재 몇 개까지 계산했는지 확인하는 count랑 계산된 값 sum을 매개변수로 하는 재귀함수를 작성 2. 더하거나 빼는 경우의 수를 확인하기 위해 재..
-
프로그래머스 - 프린터 (JavaScript)etc/coding test 2020. 4. 20. 21:59
문제: https://programmers.co.kr/learn/courses/30/lessons/42587 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 해결 과정 중요도가 높은 순서대로 인쇄하는 프린터기를 만든다. 매개변수로 현재 대기목록에 있는 문서의 중요도가 순서대로 담긴 배열 priorities, 내가 인쇄를 요청한 문서의 위치인 location을 받는다. 내가 인쇄를 요청한 문서가 몇 번째로 인쇄되는지 return 규칙은 1. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니다. 2. 나머지 인쇄 대기목록에서 J보다 중요도가..
-
프로그래머스 - 괄호 변환 (JavaScript)etc/coding test 2020. 4. 19. 01:06
문제: https://programmers.co.kr/learn/courses/30/lessons/60059 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 해결 과정 알고리즘 자체를 문제가 제시해줘서 그대로 코딩했다. 1. 입력이 빈 문자열인 경우, 빈 문자열을 반환합니다. 2. 문자열 w를 두 "균형잡힌 괄호 문자열" u, v로 분리합니다. 단, u는 "균형잡힌 괄호 문자열"로 더 이상 분리할 수 없어야 하며, v는 빈 문자열이 될 수 있습니다. 3. 문자열 u가 "올바른 괄호 문자열" 이라면 문자열 v에 대해 1단계부터 다시 수행합니다. 3-1...