본문 바로가기
반응형

프로그래머스 level315

[프로그래머스 가장 먼 노드] c++ (풀이,코드, bfs) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/49189 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이, 코드(bfs) 효율성을 요구하는 문제가 없어서 조금은 당황했습니다. 오지 정확성을 확인하고 처음에 통과를 했는데 이게 내 풀이가 맞나...? 하는 생각이 들어 다른 풀이를 복붙하여 확인을 해본결과 메모리와 시간이 어느정도 비슷한것을 확인했습니다. 저는 이 문제를 BFS(너비탐색)로 풀었습니다. 우선 arr이 노드의 갯수가 굉장히 많아 배열로 선언하면 테스트예제 7,8에서 터.. 2023. 7. 4.
[프로그래머스 징검다리 건너기] c++ (풀이,코드,이분탐색) 문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/64062 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이, 코드(이진탐색) 이 문제는 풀때 어떤 알고리즘이다! 라는 생각이 아니고 처음 풀때는 아주 뇌를 비우고 풀었었습니다.. 경우의 수도 생각없이 그냥 뭐 일단 가장 적은값에 대해서 다 빼버리고 그다음에 탐색을 순차접근을 하면 되지 않을까 하는 생각으로 뇌를 비우고 아래의 코드처럼 짰었습니다. 틀린 이상한 코드 #include #include #include #include usin.. 2023. 7. 3.
[프로그래머스 스티커 모으기] c++ (풀이, 코드, DP) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12971 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 및 코드 (DP) 이 문제는 저 DP에요~ 하는 문제라고 할 수 있습니다. 규칙성이 존재하면서 최댓값을 구하는 문제에서 DP를 자주사용하는것 같은데요. 이 문제의 규칙성에 대해서 문제의 예시에 대해서 그림과 함께 잠시 보겠습니다. 즉 DP[i] = DP[i-2] + sticker[i] 과 dp[i-1]중 최댓값이 담기게 됩니다. 우리는 선택지가 첫번째를 선택하였을때와 두번째를.. 2023. 6. 29.
[프로그래머스 보석 쇼핑] c++ (풀이,코드, 투포인터 알고리즘) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/67258 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 및 코드 (투포인터 알고리즘) 이 문제를 사용하기 위해 투포인터 알고리즘을 사용하였습니다. 투포인터 알고리즘이란? https://bendeng-life.tistory.com/130 투포인터 알고리즘(Two-Pointer Algorithm)이란? (예시,활용코드) Two Pointer 알고리즘이란 1차원 배열에서 두개의 포인터를 활용하여 원하는 결과를 얻기 위한 알고리즘입니다... 2023. 6. 28.
[프로그래머스 불량 사용자] c++ (풀이,코드,dfs,set) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/64064 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이, 코드 (dfs,set) 틀린코드 하나와 맞는 코드 하나를 올려 어떠한 생각으로 이렇게 바꿨는지에 대한 설명도 진행하겠습니다. 맞은 코드만 필요하신분은 맨 아래의 코드를 참조하시면 됩니다. 처음 문제를 접글할때 dfs를 사용하여 만약 엔트리가 완성이 된다면 (즉, 유효한 인자의 갯수가 된다면) 저장을 하는 형식으로 진행을 하였습니다. 틀린코드 #include #include .. 2023. 6. 27.
[프로그래머스 베스트앨범] c++ (풀이, 코드, map과vector 정복) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42579 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이, 코드 사실 이런 문제에 대해서 풀려고 진행을 할때 느끼는 점은 까먹었던 모든것들에 대해서 다시 다 일깨워주는 기분입니다. 뭐 map이 key가 없을때 value인 pair이던 int던 {0,0} , 0으로 불리는 것들과 pair를 이것저것에서 사용을 해보고 조금 더럽긴 하지만 first[v[i].first].second과 같이 혼종도 만들 수 있는 것 같습니다..ㅎㅎㅎ 잡설.. 2023. 6. 26.
[프로그래머스 기지국 설치] c++ (풀이,코드,그리디) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12979 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 코드 및 풀이 이 문제는 굉장히 간단한 level3의 문제라고 생각합니다. 이 문제에서는 설치를 하는 경우의 수는 굉장히 많을겁니다. (최소라고 했을때) 이렇게 윗그림과 아랫그림을 예시로 보았을때 윗그림에서의 첫번째 두개의 설치는 자리가 필수적으로 저곳에 들어갈 수 밖에 없습니다. 아래의 경우 첫번째 설치에 대해서 노란글씨로 어디든 설치를 하여도 상관이 없습니다. 우리는 이것을 코.. 2023. 6. 26.
[프로그래머스 단속카메라] c++ (코드, 풀이) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42884# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 코드 풀이 아직까지는 정답률이 높은순서대로 풀어서 그런지 level3가 풀만하다고는 느끼지만.. 점점 풀다보면 힘들어지겠죠..? 잡설은 그만하고 이 문제는 그리디 알고리즘을 요구하는 문제로 최적의 해를 찾아야 하는 문제입니다. 이 문제에서 저는 우선 시작점을 기준으로 sort를 하고 그다음 만약에 시작점이 같다면 끝점이 낮은 것을 앞으로 sort를 진행해주었습니다. 위의 방식으로.. 2023. 6. 25.
[프로그래머스 숫자게임] c++ (풀이, 코드) 문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/12987 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이, 코드 이 문제를 풀었을때는 아주 당황했다 설마 이게 맞는걸까..? 싶긴했지만 확신을 가지고 코드를 level3인데 주석에 대한 생각을 적는 시간보다 코드를 치는 시간이 더 짧았다. 3분만에 푸는 시간이었고 풀이는 간단합니다. a가 공개 b가 최대의 승수 만드는법 -> 그냥 결국 그 값의 큰값중에 가장 큰값을 가져옴 a를 sort함 -> b의 가장 비슷한 큰값을 가져옴 1 3 .. 2023. 6. 25.
[프로그래머스 등굣길] c++ (풀이,코드,dp) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42898 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 및 코드 이 문제의 핵심은 아마 오른쪽과 아래쪽으로만 움직여라고 생각합니다. 우리는 그것을 바탕으로 이제 dp를 사용할 수 있습니다. 집 1 1 1 1 1 1 1 1 학교 우리가 오른쪽으로 이동할 수 있는 것은 모두 맨끝으로가도 당연히 1가지 입니다.(아래도 똑같고요) 집 1 1 1 1 1 1 1+1 =2 2+1= 3 3+1=4 4+1=5 5+1=6 학교 이렇게 두번째 줄에 .. 2023. 6. 23.
[프로그래머스 단어 변환] c++ (풀이, 코드, bfs) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이, 코드 bfs의 문제로 level3이지만 아주 간단한 bfs가 아닐까 생각합니다. 우선 둘과의 차이가 1개가 나는것에 대해서(중복이 없으니 0개는 없음) 방문을 하지 않았다면 q.push({cnt + 1,words[i]})를 통해 반복문이 계속 돌아가게 되는 구조 입니다. 사실 bfs의 가장 정석적인 문제라 bfs에 대한 기초적인 방식인 처음에 push를 한다 -> 반복문을 .. 2023. 6. 23.
[프로그래머스 야근지수] c++ (풀이,코드) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12927 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 코드, 풀이 우리는 x가지의 숫자가 가장 같게 하여야 제곱의 합에서 가장 낫다는 것을 알 수 있습니다. 문제가 주어진 예시를 보시게 되면 works n result [4,3,3] 4 12 [2,1,2] 1 6 [1,1] 3 0 결국 x가지의 숫자를 가장 같게 만들어야 합니다 [4,3,3] , 4 -> [2,2,2] [2,1,2] 1 -> [2,1,1] 이런식으로 만들어야 한다고 생.. 2023. 6. 23.
반응형