코딩테스트/프로그래머스
-
[문제] 코딩테스트 연습 - 스킬트리 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] 완탐으로 풀었다. 제한 조건이 string 값들이 모두 26이하이고 skill_trees는 최대 20까지 들어가니 시간 복잡도를 따졌을때 모두 비교를 하더라도 26 * 26 * 20으로 시간안에 충분히 들어올수 있으므로 완탐을 이용해서 풀었다. [회고] 완탐으로 풀기는 했는데 조금 더 깔끔한 풀이가 없는지 찾아봐야겠다. 충분히 더 깔끔한 풀이가 나올 수 있었던 문제인것 같다. [코드] #include ..
[C++] 스킬트리[문제] 코딩테스트 연습 - 스킬트리 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] 완탐으로 풀었다. 제한 조건이 string 값들이 모두 26이하이고 skill_trees는 최대 20까지 들어가니 시간 복잡도를 따졌을때 모두 비교를 하더라도 26 * 26 * 20으로 시간안에 충분히 들어올수 있으므로 완탐을 이용해서 풀었다. [회고] 완탐으로 풀기는 했는데 조금 더 깔끔한 풀이가 없는지 찾아봐야겠다. 충분히 더 깔끔한 풀이가 나올 수 있었던 문제인것 같다. [코드] #include ..
2023.04.13 -
[문제] 코딩테스트 연습 - 땅따먹기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] dp 테이블을 만들어서 0번째는 1,2,3 중에서 제일 큰걸, 1번째는 0,2,3중에서 제일 큰걸 .... 이렇게 3번까지 반복하면서 계속해서 1번 행부터 n -1 번(n번은 index가 밖이니까) 까지 내려가자. [회고] 특별히 어려운 점은 없었다. 다만, 오랜만에 switch문을 써서 풀었다. 예전에 정처기에서 switch문 case들 마다 밑에 break 있어야 한다는걸 까먹어서 틀렸던 기억이 나..
[C++] 땅따먹기[문제] 코딩테스트 연습 - 땅따먹기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] dp 테이블을 만들어서 0번째는 1,2,3 중에서 제일 큰걸, 1번째는 0,2,3중에서 제일 큰걸 .... 이렇게 3번까지 반복하면서 계속해서 1번 행부터 n -1 번(n번은 index가 밖이니까) 까지 내려가자. [회고] 특별히 어려운 점은 없었다. 다만, 오랜만에 switch문을 써서 풀었다. 예전에 정처기에서 switch문 case들 마다 밑에 break 있어야 한다는걸 까먹어서 틀렸던 기억이 나..
2023.04.13 -
[문제] 코딩테스트 연습 - 튜플 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] vector total[n]과 split 함수만 있다면 쉽게 구현이 가능한 문제이다. vector total[n]에서 n은 해당 벡터의 사이즈 크기로 {2}는 사이즈가 1이니 vector total[1]에 저장시키고 {2,3}은 vector total[2]에 저장시키자. 즉, split 함수를 이용해서 int 벡터에 {} 안에 있는 숫자들을 모두 저장시키고 해당 벡터를 total에 저장만 시키면 생각보다 ..
[C++] 튜플[문제] 코딩테스트 연습 - 튜플 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] vector total[n]과 split 함수만 있다면 쉽게 구현이 가능한 문제이다. vector total[n]에서 n은 해당 벡터의 사이즈 크기로 {2}는 사이즈가 1이니 vector total[1]에 저장시키고 {2,3}은 vector total[2]에 저장시키자. 즉, split 함수를 이용해서 int 벡터에 {} 안에 있는 숫자들을 모두 저장시키고 해당 벡터를 total에 저장만 시키면 생각보다 ..
2023.04.06 -
[문제] 코딩테스트 연습 - 미로 탈출 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] 도중에 레버라는 부분이 들어가서 어렵게 느낄 수도 있지만 관점을 1개만 추가하면 어렵지 않은 문제였다. a지점에서 b지점을 가기 위해 도중에 c지점을 경유점으로 찍을때 나오는 시간은 a -> c + c -> b와 일치한다. 즉, 시작지점에서 레버까지를 bfs로 돌리고 레버부터 도착지점까지를 bfs로 돌리면 답이 나온다. [회고] 도중에 lever.second라고 쳐야하는것을 lever.first라고 ..
[C++] 미로 탈출[문제] 코딩테스트 연습 - 미로 탈출 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] 도중에 레버라는 부분이 들어가서 어렵게 느낄 수도 있지만 관점을 1개만 추가하면 어렵지 않은 문제였다. a지점에서 b지점을 가기 위해 도중에 c지점을 경유점으로 찍을때 나오는 시간은 a -> c + c -> b와 일치한다. 즉, 시작지점에서 레버까지를 bfs로 돌리고 레버부터 도착지점까지를 bfs로 돌리면 답이 나온다. [회고] 도중에 lever.second라고 쳐야하는것을 lever.first라고 ..
2023.04.05 -
[문제] 코딩테스트 연습 - 과제 진행하기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제풀이] 우선 첫번째로 string으로 받아오는 배열을 int(작업 시작시간), string(작업 이름), int(작업 진행시간) 으로 나누어서 배열에 집어넣었다. *여기서 시작시간은 시 * 60 + 분 으로 계산을 하였다. 그 뒤에 stack을 활용해 배열에 넣어져있는 작업들을 처음부터 끝까지 해당 조건에 따라서 stack에 넣다가 조건에 주어진 부분에 따라서 stack에서 빼고 answer에 넣는 경우도..
[C++] 과제 진행하기[문제] 코딩테스트 연습 - 과제 진행하기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제풀이] 우선 첫번째로 string으로 받아오는 배열을 int(작업 시작시간), string(작업 이름), int(작업 진행시간) 으로 나누어서 배열에 집어넣었다. *여기서 시작시간은 시 * 60 + 분 으로 계산을 하였다. 그 뒤에 stack을 활용해 배열에 넣어져있는 작업들을 처음부터 끝까지 해당 조건에 따라서 stack에 넣다가 조건에 주어진 부분에 따라서 stack에서 빼고 answer에 넣는 경우도..
2023.04.05 -
[문제] 코딩테스트 연습 - 멀리 뛰기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] 2칸 혹은 1칸을 움직일 수 있으니 간단하게 생각해서 3칸을 움직일 수 있는 경우는 1칸째에서 2칸을 한번에 움직이는 경우 + 2칸째에서 1칸을 추가로 오는 경우이다. 즉, dp[i] = dp[i - 1] + dp[i - 2] 라는 점화식이 완성이 되니 이를 이용해서 풀자. [회고] 이전엔 DP에 대한 이해도가 부족해서 어떻게 접근하는지 헷갈렸었는데 이제는 확실히 계단 뛰어오르기 정도는 익숙해진 것 ..
[C++] 멀리 뛰기[문제] 코딩테스트 연습 - 멀리 뛰기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] 2칸 혹은 1칸을 움직일 수 있으니 간단하게 생각해서 3칸을 움직일 수 있는 경우는 1칸째에서 2칸을 한번에 움직이는 경우 + 2칸째에서 1칸을 추가로 오는 경우이다. 즉, dp[i] = dp[i - 1] + dp[i - 2] 라는 점화식이 완성이 되니 이를 이용해서 풀자. [회고] 이전엔 DP에 대한 이해도가 부족해서 어떻게 접근하는지 헷갈렸었는데 이제는 확실히 계단 뛰어오르기 정도는 익숙해진 것 ..
2023.04.04