programmers
-
프로그래머스 - 쇠막대기 (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. 23. 20:46
문제:https://programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 해결 과정 모든 원소를 사용해야하는데 숫자는 더하거나 빼는 2가지 경우의 수가 있다. 모든 원소를 더하거나 빼보는 모든 경우의 수를 탐색하지 않고 타겟넘버를 구할 수 있는 방법은 생각이 나지 않아서 깊이우선탐색으로 모든 케이스를 탐색하기로 했다. 1. 현재 몇 개까지 계산했는지 확인하는 count랑 계산된 값 sum을 매개변수로 하는 재귀함수를 작성 2. 더하거나 빼는 경우의 수를 확인하기 위해 재..