LV2 - 마법의 엘레베이터 (Java)
·
프로그래머스
문제 https://school.programmers.co.kr/learn/courses/30/lessons/148653# 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이설명은 좀 복잡하지만, 결국 각자리를 0으로 만드는 과정을 거쳐 최종값 0을 만드는 문제이다. 단 여기서 신경써야할거는, 다음 자릿수로의 올림이다. 만약 지금 내가 보고 있는 자릿수가 9라면 0으로 올릴테고, 다음 자릿수에 1을 더하게 될 것이다.만약 다음 자릿수가 일반적인 숫자면 1만 더해주고 반복을 해주면 되겠지만 9라면?9일 경우에는 숫자가 더해져 0이 될거고, 그러면 이 자릿수에 ..
LV2 - 소수 찾기 (Java)
·
프로그래머스
문제 https://school.programmers.co.kr/learn/courses/30/lessons/42839# 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  풀이방문을 체크하는 방식으로 dfs를 순회해서 모든 경우의 수를 만든다.모든 경우의 수를 넣을때, 011과 11은 같은 값으로 처리하기에 int로 바꾼다음에 set으로 중복을 제거했다.이후 소수인지 판별하는 식으로 정답을 구한다!코드import java.util.*;class Solution { public Set set = new HashSet(); public int solut..
LV2 - 다리를 지나는 트럭 (Java)
·
프로그래머스
문제 https://school.programmers.co.kr/learn/courses/30/lessons/42583 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이너무나 queue 스러운 문제였다. 중요한 부분은 다리의 무게 한계점과, 각 트럭의 이동을 체크하는거였다. 사실 무게는 변수하나를 두고, 큐에 들어오고 나갈때 계산만하면 되었다. 그래서 다리에서 이동하는 트럭을 체킹하는게 문제였는데, 나는 큐에 실제로 다리를 놓는다는 방식으로 생각했다. 우선 큐에 다리길이만큼 -1이라는 상징적인 값을 넣는다. 이후에 큐의 가장 앞을 빼고, 다시 새로운 값을 ..
LV2 - 숫자 변환하기 (Java)
·
프로그래머스
문제https://school.programmers.co.kr/learn/courses/30/lessons/154538# 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  풀이dp? bfs 스러운 문제이다. x로부터 조건에 맞게 값을 더해주거나 곱해주면서 뻗어가면서,해당 값이 몇번만에 만드는지 파악해야한다. 값을 몇번만에 만드는지 저장할 array가 있어야하고,bfs를 수행할 덱을 선언한다. 처음 x값을 0으로 설정한다음 이 값으로 부터 bfs를 수행한다.방문 여부 및 한계값을 체크한다음, 조건에 만족한다면 기존 값을 만드는 횟수 + 1 을 배열에 저장해주면 ..
LV2 땅따먹기 (Java)
·
프로그래머스
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12913 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 단순한(?) dp(?)문제다. 위에서 아래로 내려오고, 같은 열의 값은 밞을 수 없다는 조건을 생각해서 dp 2차원 배열을 갱신해주면 된다. dp배열의 값은 "현재 칸에 올 경우 가장 큰 값" 을 정의한다. 따라서 점화식은 dp[행][열] = (land[행][열]) + dp(이전 행 중 가장 큰 값) 위처럼 구성되고, dp(이전 행 중 가장 큰 값)
LV2 뒤에 있는 큰 수 찾기 (Java)
·
프로그래머스
문제 https://school.programmers.co.kr/learn/courses/30/lessons/154539# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 스택을 활용하여 풀 수 있는 문제였다. 처음에는 값 그 자체를 스택에 넣고, 큰 값이 오면 갱신해줘야했나? 했는데 이럴 경우 정답배열의 어떤 위치에 값을 업데이트 해줘야할 지 애매모호했다. 관점을 조금 바꿔서 인덱스를 넣는 방식으로 구현하면 풀 수 있었다. (스택에는 배열의 인덱스를 넣고, 값을 찾을땐 numbers[idx] 이런 방식으로 접근했다.) 문제 같은 경우에는 number..
[네이버 부스트캠프 8기] 그룹프로젝트와 부캠을 마치며 (feat. 네트워킹데이)
·
회고
엊그제 시작한 거 같은 6주간의 프로젝트가 끝이났다. 아이러니하게도 끝나고나니 뿌듯함보다는 허무함과 공허함이 몰려오는 느낌이다. 시작에 따른 끝은 항상 존재하는데, 아직도 이런 끝남에 있어서는 익숙하지 않은거 같다. 프로젝트 과정이 그만큼 재밌었나 보다. 유독 싱숭생숭한 연말이지만 6주간의 프로젝트와 부스트캠프를 마무리하며 느낀점을 작성해보려 한다. 6주간의 그룹 프로젝트 우선 6주간 진행한 프로젝트동안 느낀점을 작성해보겠다. 팀마다의 룰 그리고 문화 프로젝트를 처음에 셋업할 때, 여러 컨벤션과 룰을 정하려고 노력했다. 프로젝트 관리차원으로 언제부터 언제까지를 코어타임에 둘 것이며, commit 컨벤션은 어떻게 하고, 코드 작성 방식은 어떤식으로 할 지.. 등등 의욕이 가득한 만큼 꽤나 디테일하게 하고 ..
LV3 단어 변환 (Java)
·
프로그래머스
문제 https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 단순한 dfs 문제이다. 방문 여부를 따지면서 모든 경우의 수를 체크해보면 된다. 단 문자열에서 문자 하나만 다를경우 해당 문자열로 바꿀 수 있기에 그 부분만 잘 체크하면 무난하게 풀 수 있다. 코드 import java.util.*; class Solution { public boolean[] visited; public int answer = Integer.MAX_VALUE; pub..
LV3 모음사전 (Java)
·
프로그래머스
문제 https://school.programmers.co.kr/learn/courses/30/lessons/84512 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 5개의 요소 밖에 없기 때문에 완전탐색을 돌면된다. 처음에는 모든 경우의 수를 만들고 정렬을 해야할거라고 생각했는데, A E I O U 가 애초에 정렬이 되어있는 순서였기에, 완전 탐색을 앞에서부터 수행하면 자동으로 오름차순으로 배열에 추가할 수 있다! 또한 나는 해당 요소를 선택할지, 말지를 고르는 식으로 분기를 두개 나누어서 처음에 풀었는데 모든 요소를 만들어야 하기에 딱히 그럴 필..
LV3 최고의 집합 (Java)
·
프로그래머스
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12938# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 우선, 어떤 상황에 -1이 나올까? n이 3인데 s가 2라고 해보자. 각 원소는 1이상의 값을 가지는데, 최소 형태인 [1, 1, 1] 로 만들면 이미 s를 넘기 때문에 답을 낼 수 없다. 따라서 이때 우선 -1을 담은 배열을 return 하면 된다. 그게 아닐경우에는 어떻게 할까? 예시를 보면 n=2, s=9 => [4, 5] n=2, s=8 => [4, 4] 와 같이 나타난다. 이..