본문 바로가기
반응형

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

[프로그래머스] [1차]캐시 C++ (2018 카카오 블라인드 코테) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/17680 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 코드 및 풀이 /* 공백,숫자,특수문자 등이 없는 영문자 + 대소문자 구분x 도시 이름은 최대 20자로 이루어져있음 Least Recently Used -> 최근에 사용하지 않은 캐시를 교체하는 알고리즘 cache hit -> 존재 한다면 1 cache miss -> 존재하지 않는다면 5 -> 크기가 채워졌냐 안채워졌냐로 분류 문제의 예시 2번째를 보면서 이해를 해봐야 함. 편의상.. 2023. 5. 11.
[프로그래머스] h-index c++ (문제,풀이,코드) 문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/42747 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 코드 및 풀이 정렬을 진행해준후에(내림차순!) 반복문을 도는데 i = citations[i]이기 때문에 갯수는 정해졌으니 return을 하면 됩니다. /* H-index 발표한 n평중 h번이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 h-ind.. 2023. 5. 10.
[프로그래머스] 괄호 회전하기 c++ (풀이, 코드, 스택) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/76502 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 코드 및 풀이 처음에는 너무 간단하게 소,중,대 괄호에 대해서 여는거면 ++ 닫는거면 -- 를 하면서 그냥 간단하게 반복문을 돌때 0미만이 하나라도 나오면 없는거 아니야? 라는 생각을 했습니다. 틀린 코드(오답 코드) /* 괄호 회전하기 AB가 올바른 괄호 문자열 -> AB도 올바른 괄호 문자열 S가 X칸만큼 회전시켰을때 S가 올바른 괄호 문자열이 되게 하는 X개의 개수 retur.. 2023. 5. 10.
[프로그래머스] 귤 고르기 c++ (풀이, 코드, 정렬의 중요성?) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 문제 설명 경화는 과수원에서 귤을 수확했습니다. 경화는 수확한 귤 중 'k'개를 골라 상자 하나에 담아 판매하려고 합니다. 그런데 수확한 귤의 크기가 일정하지 않아 보기에 좋지 않다고 생각한 경화는 귤을 크기별로 분류했을 때 서로 다른 종류의 수를 최소화하고 싶습니다. 예를 들어, 경화가 수확한 귤 8개의 크기가 [1, 3, 2, 5, 4, 5, 2, 3] 이라고 합시다. 경화가.. 2023. 5. 9.
[프로그래머스] 멀리 뛰기 c++ (dp, 코드 및 설명) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12914 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 개념 이 문제를 역으로 생각을 해보면 예를 들어 우리는 10칸에 도달하려고하면 -> 8칸에서 두칸뛴것과 9칸에서 1칸을 뛴것을 생각하실 수 있습니다. 이것을 계속 반복하게 되서 처음으로 돌아가게 된다면 1칸과 2칸을 알게 된다면 모든 뒤 칸을 알 수 있습니다. 하지만 우리가 만약 return f(n) = f(n-1) + f(n-2); 이런식의 재귀로 호출을 하게 된다면 얼마나 오랜 시간.. 2023. 5. 9.
[프로그래머스] N개의 최소 공배수 c++ 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12953?language=cpp 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배수는 n 개의 수들의 배수 중 공통이 되는 가장 작은 숫자가 됩니다. n개의 숫자를 담은 배열 arr이 입력되었을 때 이 수들의 최소공배수를 .. 2023. 5. 8.
[프로그래머스] 점프와 순간 이동 c++ 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12980 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 문제 설명 OO 연구소는 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) x 2 에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트를 개발하여 판매하고 있습니다. 이 아이언 슈트는 건전지로 작동되는데, 순간이동을 하면 건전지 사용량이 줄지 않지만, 앞으로 K 칸을 점프하면 K 만큼의 건전지 사용량이 듭니다. 그러므로 아이언 슈트를 착용하고 이동할 .. 2023. 5. 8.
[프로그래머스] 예상 대진표 c++ 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12985 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 문제 설명 △△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N번의 참가자끼리 게임을 진행합니다. 각 게임에서 이긴 사람은 다음 라운드에 진출할 수 있습니다. 이때, 다음 라운드에 진출할 참가자의 번호는 다시 1번부터 N/2번을 .. 2023. 5. 7.
[프로그래머스] 구명보트 c++ 코드 및 풀이 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 50kg]이고 구명보트의 무게 제한이 100kg이라면 2번째 사람과 4번째 사람은 같이 탈 수 있지만 1번째 사람과 3번째 사람의 무게의 합은 150kg이므로 구명보트의 무게.. 2023. 5. 6.
[프로그래머스] 카펫 c++ 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42842 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 및 풀이 생각을 단순하게 변을 x,y라고 생각을 하고 2x + 2y - 4 = 갈색의 겉에 감싼 합 x * y = brown + yellow 라는 조건식을 충족한다면 맞는 것이니 return을 하였습니다. 근데 여기서 y값이 더 작거나 같다는 조건을 충족하기 위해 y를 큰 반복문으로 돌리고 또한 시간 절약을 위해 brown + yellow의 루트를 씌웠습니다 -> 약수 구할때 전체.. 2023. 5. 6.
[프로그래머스] 영어 끝말잇기 c++ 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12981 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 및 풀이 보통 간단하게 생각을 하고 효율성이 맞지 않는다면 고치는 편인데 전꺼의 끝과 현재의 시작이 같지 않다면 return 그리고 여태 한것의 문장이 있다면 return을 하는 형식으로 생각하고 짰더니 바로 통과하였습니다. /* 영어 끝말잇기 그냥 전꺼 끝 단어랑 처음 시작 단어를 비교해서 다르다면 리턴 그리고 vector words에 있는 것을 돌며 서로 같지 않으면 리턴 */.. 2023. 5. 6.
[프로그래머스] 짝지어제거하기 c++ 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12973 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 레벨2문제는 풀다보면 느끼는건데 너무 쉽게 생각하면 또랑에 빠져서 다시 고치고 어렵게 생각하면 쉬운문제라 항상 당황하는것 같습니다. 코드 및 풀이 오답 코드(효율성 0점) /* 짝지어 제거하기 -> 같은 알파벳 2개 붙어 있는 짝을 찾음 그 둘을 제거한 뒤 이어 붙임 성공할 수 있으면 1 없으면 0 음.. 반복문을 전체를 도는것은 에바니 index기준을 기억해뒀다가 제거됐을.. 2023. 5. 5.
반응형