본문 바로가기
반응형

알고리즘/c++ 프로그래머스83

[프로그래머스 베스트앨범] 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.
[프로그래머스 네트워크] c++ (풀이,코드,dfs) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 코드, 풀이 level3라고 해서 꼭 어려운건 아닌거 같다는 생각이 드는 문제였습니다. level1이 더 까다로울때도 있고.. 신기하네요. 이 문제는 dfs로 풀었습니다. dfs에서의 가장 핵심은 방문을 하였나? 안하였나가 가장 중요한 문제로 level3이지만 아마 dfs의 가장 기초적인 문제가 아니었나 싶습니다. 순서는 이렇게 짜봤습니다. 1. 방문을 하지 않았다면 0부터 com.. 2023. 6. 23.
[프로그래머스 최고의 집합] c++ (풀이 ,코드) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12938 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이, 코드 우리가 생각을 해봅시다. 합들에 대해서 가장 큰곱을 구하는 방법에 대해서 궁금해 하실겁니다. 이거를 우리가 수학에 대한 지식을 가져야 하는건가? 물론 귀납적인 방법으로 몇개를 세우다보면 아.. 가장 s와 n을 나눈것들을 기본으로 하고 s%n을 해서 그만큼 1을 더해주면 되겠구나라는 느낌이 생기긴 합니다. 예를 들어 4 16 이라면 4 4 4 4 일때의 최곳값이 되겠네요.. 2023. 6. 22.
[프로그래머스 이중우선순위큐] c++ (풀이, 코드) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42628 문제 풀이, 코드 처음에는 풀이를 하였을때 테스트 1에서 계속 틀리는 현상이 발견했다.. 이게 왜 틀린것인가..? 하는 의문이 들었다. 우리가 카운트를 할때 저는 따로 pqsize를 진행하여 delete가 되었을때 (최소든 최대든) 일단 전체의 크기에서 지워지는 것이니 -1을 하는것은 당연한 사실이다. 또한 insert를 할때도 +1을 하는 것은 사실 하지만 초기 틀렸던 이유는 내림차순 PQ 오름차순 PQ 3 1 2 2 1 3 이러한 상태에서 내림차순 3,2,1이 지워졌다고 가정할때 "D 1","D 1","D 1"을 하게 되면 오름차순의 PQ는 그대로 남아있게 된다. 이것에 대해서.. 2023. 6. 22.
[프로그래머스 성격 유형 검사하기] c++ (풀이,코드) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 및 코드 이 문제를 사용할때 저는 map을 이용하여 문제를 풀이하였습니다. map을 사용하여 그것에 대해서 score에 대해서 ++을 진행해줍니다. choices의 점수에서 -4를 진행하여 그것에 대해서 음수라면 survey[i][0]에 대한 map의 점수 ++ 양수라면 survey[i][1]에 대한 map의 점수 ++을 진행한 후 마지막에 비교 연산을 통해 진행 (단, 사.. 2023. 6. 22.
[프로그래머스 신규 아이디 추천] c++ (풀이,코드) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/72410 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 및 코드 개인적으로 이 문제는 문제에서 주어진 하라는대로 그대로 하면 되는 문제라고 생각합니다. 문제에서 주어진 조건을 하나대로 하라는대로 하기만 해서 큰 무리는 없지만 풀때 약간 까먹어서 헷갈리는 그런것들에 대해서 다시 짐작을 하느라 조금은 예상시간보다는 오래걸렸네요. (카카오는 지문이 너무 길어..) substr, erase, strchr, back 뭐 등등 string에.. 2023. 6. 22.
반응형