Python

Algorithm/PS

[C++, python] 프로그래머스 - 햄버거 만들기

문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 이 문제는 주어지는 입력값을 처음부터 읽으면서, [빵 - 야채 - 고기 - 빵] 의 순서일 경우, 이 입력값들을 제거하며 정답을 추가하는 문제이다. 이 문제를 풀기 위해 스택의 원리를 사용했다. 빈 문자열을 하나 만들어준 뒤, 이 문자열에 주어지는 입력값을 하나씩 추가해주면서, 문자열의 길이가 4 이상이 될 경우마다 마지막 부분의 문자열이 "1231"로 끝나는지 확인해준다. 만약 "1231"로 끝난다면, 조건에 만족하므로, 문자열에서 "1231"을 제거해주면서 정답을 1 증가시킨다. 입력..

Algorithm/PS

[C++, python] 프로그래머스 - 성격 유형 검사하기

문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 이 문제는 주어지는 입력값을 판단해 조건에 맞도록 값을 출력해주면 된다. 지표는 총 4개인데 4개가 모두 동일하게 판단되므로 하나의 예를 들자면, "RT"라는 성격 유형을 검사할 경우, 7가지의 선택지에 따라 rt의 값이 변하게 된다. 이 때, 선택지는 매우 비동의 (-3) 비동의 (-2) 약간 비동의 (-1) 모르겠음 (0) 약간 동의 (1) 동의 (2) 매우 동의 (3) 로 되어있으므로, 각각의 선택지에 맞는 값을 찾아 더해주면 된다. 만약 "RT" 대신 "TR"이 입력값일 경우, 값..

Algorithm/PS

[C++, python] 프로그래머스 - 카드 뭉치

문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 이 문제는 cards1과 cards2의 순서에 맞게 goal이 나오는지 확인하면 된다. 순서가 뒤바뀐 경우, "No"를 반환한다. 정답 코드 C++ #include #include using namespace std; string solution(vector cards1, vector cards2, vector goal) { int i = 0, j = 0; while (i + j < goal.size()) { if (i < cards1.size() && cards1[i] == goal[i..

Algorithm/PS

[C++, python] 프로그래머스 - 문자열 나누기

문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 이 문제는 조건에 따라 문자열을 나누는 문제이다. 조건으로는 첫 문자를 기준으로 삼는다. 왼쪽에서 오른쪽으로 문자열을 읽어나가면서, 첫 문자와 같은 문자가 나오는 횟수, 첫 문자와 다른 문자가 나오는 횟수를 각각 세어, 두 횟수가 같아지는 순간 멈추고, 문자열을 분리한다. 분리한 문자열을 제외시키고, 나머지 문자열을 가지고 처음부터 과정을 반복한다. 더 이상 읽을 글자가 없다면, 종료하고, 분리된 문자열의 수를 반환한다. 조건에 맞게 코드를 작성해주었다. 정답 코드 C++ #include..

Algorithm/PS

[C++, python] 프로그래머스 - 옹알이 (2)

문제 링크 문제 풀이 이 문제는 문자열 사이에서 미리 주어진 부분 문자열들을 찾아내는 것이다. 문자열 전체가 부분 문자열로 이루어져 있고, 같은 부분 문자열이 연속적으로 배치되지 않은 문자열을 찾아야한다. 각각의 문자열은 주어진 부분 문자열의 길이만큼 추출한 뒤 비교해서 같으면 그 부분을 삭제시키는 방식으로 풀었다. 만약 문자열이 주어진 부분 문자열로만 이루어져있다면, 반복문을 통해 완전히 제거가 될 것이다. 마지막에 길이가 0인 문자열일 경우, 부분 문자열로 이루어진 문자열로 판단할 수 있으므로 정답을 찾을 수 있다. 정답 코드 C++ #include #include using namespace std; int solution(vector babbling) { int answer = 0; for (in..

Algorithm/PS

[C++, python] 프로그래머스 - 기사단원의 무기

문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 이 문제는 1부터 number까지의 자연수들의 약수의 갯수를 구해야하는 문제이다. 자연수 n의 약수를 구하는 법은 쉽다. 반복문을 1부터 n까지 돌려 n을 i로 나누었을 때 나머지가 없을 경우, i를 약수라고 하기 때문에 반복문을 잘 써주면 된다. 하지만 이 문제에서는 시간복잡도가 중요하기 때문에 우리는 보다 적은 반복만으로 약수를 구해야만 한다. 대부분의 약수는 짝이 존재하기 때문에, 반복문을 반만 돌려도 약수를 찾는데에는 무리가 없을 것이다. 여기서, 더 나아가자면, 자연수 n의 약수..

Algorithm/PS

[C++, python] 프로그래머스 - 숫자 짝궁

문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 이번 문제는 두 문자열 사이에서 공통으로 나타나는 숫자들을 모아, 가장 큰 값을 만들어주는것이 문제이다. 0부터 9까지의 값이 몇 개가 나오는지 담아줄 수 있는 배열을 만들어준 뒤, 두 배열의 요소들을 비교해서 공통으로 나타나는 수들을 뽑아 문자열을 만들어주면 된다. 정답 링크 C++ #include #include using namespace std; string solution(string X, string Y) { string answer = ""; vector vx(10, 0); ..

Algorithm/PS

[C++, python] 프로그래머스 - 명예의 전당(1)

문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 이번 문제는 리스트의 중간 요소를 파악해서 정답에 반영하는 것이다. 반복문을 통해 임시 리스트에 점수가 하나씩 들어오면, 내림차순을 통해 정렬해준 뒤, k번째 요소를 정답에 추가해주면 된다. 임시 리스트의 길이가 k보다 작을 경우, 임시 리스트의 맨 마지막 요소를 반환하도록 했다. 정답 코드 C++ #include #include #include using namespace std; vector solution(int k, vector score) { vector answer; vecto..

chanwoong1
'Python' 태그의 글 목록 (18 Page)