algorithm

algorithm

[프로그래머스] k진수에서 소수 개수 구하기(C++)

문제 URL https://school.programmers.co.kr/learn/courses/30/lessons/92335 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 설명] 다음 문제는 정수 n과 k가 매개변수로 주어진다. 이 n을 k진수로 바꿨을 때, 변환된 수 안에서 찾을 수 있는 조건에 맞는 소수의 개수를 return 하는 문제이다. [문제 풀이] 문제의 조건을 보면 0을 기준으로 사이에 있는 수가 존재하는데 이 숫자가 소수인지 판별하면 되었다. 따라서 문제 해결 방법은 다음과 같다. 1. 정수 n을 k진수로 바꾸기 2. 0을 기준으로..

algorithm

[프로그래머스] 캐시(C++)

문제 URL https://school.programmers.co.kr/learn/courses/30/lessons/17680 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 설명] 이 문제는 캐시 크기와 도시이름 배열이 주어질 때, 캐시를 통해 배열을 순서대로 처리하는데 걸리는 총 실행시간을 출력하는 문제이다. 문제를 읽어봤는데도 무슨 의미인지 파악하지 못해서 구글링을 해보았다. 내용을 알고보면 어렵지 않은 문제였다. [문제 풀이] 문제에는 가장 오랫동안 참조되지 않은 페이지를 교체하는 기법인 LRU 알고리즘이 사용된다. 대문자를 모두 소문자로 바..

algorithm

[프로그래머스] 로또의 최고 순위와 최저 순위(C++)

문제 URL https://school.programmers.co.kr/learn/courses/30/lessons/77484 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 설명] 이 문제는 구매한 로또 번호를 담은 배열 lottos와 당첨 번호를 담은 배열 win_nums가 매개변수로 주어졌을 때 당첨 가능한 최고 순위와 최저 순위를 구하는 문제이다. 이때, 알아볼 수 없는 번호가 존재한다. [문제 풀이] 단순 구현 문제로 당첨 번호와 일치하는 숫자 개수에 따라 최저 순위가 결정되고, (당첨 번호와 일치하는 숫자 개수 + 0의 개수)에 따라 최고..

algorithm

[프로그래머스] 디펜스 게임(C++)

문제 URL https://school.programmers.co.kr/learn/courses/30/lessons/142085?language=cpp 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제는 준호가 처음 가지고 있는 병사의 수 n, 사용 가능한 무적권의 횟수 k, 매 라운드마다 공격해오는 적의 수가 순서대로 담긴 정수 배열 enemy가 매개변수로 주어질 때, 준호가 몇 라운드까지 막을 수 있는지 구하는 문제이다. 문제를 해결하기 위해서 최소 큐를 사용하였다. 최소큐에 각 라운드의 enemy 개수를 담아두고 만약 이 enemy를 담아둔 최..

algorithm

[프로그래머스] 튜플(C++)

문제 URL https://school.programmers.co.kr/learn/courses/30/lessons/64065 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제는 특정 튜플을 표현하는 집합이 담긴 문자열 s가 매개변수로 주어질 때, s가 표현하는 튜플을 구하는 문제이다. 처음에 문제를 접했을 때 단순히 문자열 s에 들어있는 숫자를 구한 뒤 이를 나열하면 되는 줄 알았는데 튜플의 원소 순서에 따라서 튜플이 달라지기 때문에 원소 순서도 고려해야 하는 문제였다. 한 튜플의 여러 집합에서 많은 개수를 가진(자주 등장한) 원소가 앞에 나열되어..

algorithm

[프로그래머스] 두 큐 합 같게 만들기(C++)

문제 URL https://school.programmers.co.kr/learn/courses/30/lessons/118667 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제는 길이가 같은 두 개의 큐가 주어졌을 때 각각의 두 큐에서 원소를 모두 합한 값이 서로 같아야 한다. 합한 값이 더 큰 쪽의 큐를 pop 하여 다른 쪽의 큐로 넣어주는 방식을 반복하면서 문제를 해결하는데 이때, 반복문을 언제까지 돌아야 하는지 알아보자. 한 큐에서 pop을 하다가 다시 자신의 기존 원소로 돌아오는 경우는 하나의 큐에서 (queue1 원소의 개수) + (que..

algorithm

[프로그래머스] 행렬의 곱셈 (C++)

문제 URL https://school.programmers.co.kr/learn/courses/30/lessons/12949 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 위 문제는 2차원 행렬 arr1과 arr2를 입력받아, arr1에 arr2를 곱한 결과를 반환하는 문제이다. 문제를 푸는 방법은 첫번째 배열의 크기만큼 반복하면서 행렬의 곱셈에 맞게 두 배열의 위치를 조정하여 각 원소를 곱하고 곱한 값을 더하여 결과 행렬의 값을 만들어주면 되는 문제이다. #include #include using namespace std; vector solution..

algorithm

[프로그래머스] 문자열 압축 (C++)

문제 URL https://school.programmers.co.kr/learn/courses/30/lessons/60057 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 다음 문제는 문자열을 1개 이상의 단위로 잘라서 압축하면서 가장 짧은 문자열로 표현하는 문제이다. 문자를 자르는 단위는 1부터 (문자열의 사이즈 / 2) 까지만 가능하므로 해당 범위 내에서 반복문을 반복하며 문자를 자르는 단위를 바꿔준다. 단위를 바꾸어 가며 substr() 함수를 이용하여 잘린 두 문자열의 비교를 반복하는데 문자열이 같다면 cnt를 증가시켜주고, 다르다면 temp에 ..

algorithm

[프로그래머스] 점프와 순간 이동(C++)

문제 URL https://school.programmers.co.kr/learn/courses/30/lessons/12980 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 위 문제는 n칸까지 가야 할 때, 건전지 사용량을 최소화 시켜서 도달하는 문제이다. 정해진 n칸까지 가는 경우의 수는 여러가지가 있는데 그중 건전지 사용량을 최소로 하는 경우는 순간이동을 하는 수를 늘리는 방법이다. 만약 n이 100이라고 했을 때 50까지 도달했다면 그 뒤는 순간이동할 수 있다. 그렇다면 50에 도달하려면 25까지 오면 순간이동으로 50에 도달할 수 있다. 같은 방식..

algorithm

[프로그래머스] JadenCase 문자열 만들기(C++)

문제 URL https://school.programmers.co.kr/learn/courses/30/lessons/12951 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 위 문제는 문자열이 주어졌을 때 첫 문자를 대문자로 만드는 문제로 조건을 주어 toupper() 함수를 사용하면 되었다. 구글링을 한 부분은 알파벳 소문자를 대문자로 만들어주는 toupper() 함수의 함수명을 기억하지 못해서 찾아보았다. 또, 처음에는 s[i] - 'a' >= 0 && s[i] - 'a' < 26과 같은 조건을 주어 대문자, 소문자, 숫자를 구분하려고 했는데 toup..

jeonge
'algorithm' 카테고리의 글 목록 (3 Page)