본문 바로가기
반응형

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

[프로그래머스] 택배상자 c++ (풀이,코드) 문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/131704 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 코드, 풀이 아래의 주석을 보시면 바로 이해가 되실겁니다. 처음 문제에서 요구하는것과 반대로 생각을 했습니다. 4,3,1,2,5가 결국 order[i]의 값이 1,2,3,4,5순서대로 보조컨베이어벨트를 활용해서 최대 갯수를 구하는줄 알았는데 그것이 아닌 인덱스 +1 번째로 트럭에 실어야 한다는 것이었습니다. (문제 잘 읽자.) /* 1~n번 상자 / 한방향 / 보조컨베이어 -> L.. 2023. 9. 8.
[프로그래머스 완주하지 못한 참가자] c++ (풀이,코드) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 코드, 풀이 풀이 1 완주자에서 참여자를 뺀 나머지 결국 완주를 못한 사람은 제한사항을 따른 한명뿐이다. 생각을 해보니 그냥 completion에 대해서 먼저 map을 추가하고 키값이 false라면 그걸 리턴하면 되지 않을까? 근데 세번째 예시와 제한사항에 중첩이 있을 수 있다니 int로 선언하고 ++을 해준다. -> 0이라면 return해준다. #include #include #.. 2023. 7. 9.
[프로그래머스 섬 연결하기] c++ (풀이,코드, 크루스칼 알고리즘) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42861 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이, 코드 (크루스칼 알고리즘) 이 문제를 처음에는 어 그냥 최솟값에 대해서 연결만 하면 끝나는거 아니야? 하면서 코드를 일일히 나열했다. 근데 풀다가 생각을 해보니 이럴때 각 노드의 연결 값을 최소화!! 할때 크루스칼 알고리즘을 사용하는것이 기억이 났습니다. 크루스칼 알고리즘, 최소신장트리(MST)에 대한 그림과 함께 쉽게 설명👇👇👇 https://bendeng-life.tis.. 2023. 7. 6.
[프로그래머스 개인정보 수집기간] c++ (풀이,코드) 문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/150370 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 코드,풀이 이 문제는 문자열을 뽑는 문제로 귀찮은 구분자를 기준으로 뽑을 필요가 없이 달(month)나 일수가 한자리일때 앞에 0을 친절하게 붙혀주는 문제였습니다. 그래서 저는 substr를 활용하여 원하는 위치의 인덱스들의 문자열들을 뽑아와 stoi를 해주었습니다. 사실 틀은 하라는대로 하기만하고 따로 알고리즘을 엄청나게 요구하지 않아 아래의 코드를 보시게 되면 이해가 되실거라고.. 2023. 7. 5.
[프로그래머스 신고결과받기] c++ (풀이,코드) 문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/92334?language=cpp 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 코드, 풀이 프로그래머스 level1에서 가장 정답률이 낮은 문제인데요. 카카오 문제는 문자열 처리때문에 극혐하지만 그래도 이번에 진행해봤습니다..ㅎ 저의 풀이는 이런식으로 풀었습니다. 1. 맵에 string,int로 id_list와 인덱스를 받아왔습니다. (나중에 int로 처리하기 편하게 하기 위해) 2. report를 돌게 되면서 신고자와 피신고자를 받아와.. 2023. 7. 5.
[프로그래머스 가장 먼 노드] 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/64061 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 게임개발자인 "죠르디"는 크레인 인형뽑기 기계를 모바일 게임으로 만들려고 합니다. "죠르디"는 게임의 재미를 높이기 위해 화면 구성과 규칙을 다음과 같이 게임 로직에 반영하려고 합니다. 게임 화면은 "1 x 1" 크기의 칸들로 이루어진 "N x N" 크기의 정사각 격자이며 위쪽에는 크레인이 있고 오른쪽에는 바구니가 있습니다. (위 그림은 "5 x 5" 크기의 예시입니다). 각 격자.. 2023. 7. 4.
[프로그래머스 키패드 누르기] c++ (풀이, 코드) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/67256 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 코드, 풀이 처음에 풀이를 가로^2 + 세로^2을 거리로 생각을 해서 (문제를 제대로 읽어야지 바보야..) 처음에 틀렸었습니다. 문제는 10분 정도 내외의 시간이 걸렸습니다. 좌표값이라고 생각을 하고 0,0기준으로 y,x좌표를 추출하였습니다. y = (numbers[i] - 1) / 3; x = (numbers[i] - 1) % 3; 1,4,7의 경우에는 왼쪽에 대한 map을 갱신.. 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.
반응형