string

Algorithm/PS

[프로그래머스] 이진 변환 반복하기 [python]

문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 이 문제는 "0" 또는 "1"로 이루어진 문자열이 "1"이 될 때 까지 조건을 실행해주는 문제이다. 조건은 다음과 같다. 주어진 문자열내의 모든 "0"을 제거한 길이를 구한다. 그 길이를 이진법으로 표현한 문자열을 만든다. 위의 두 조건을 반복하여 문자열이 "1"이 되는 순간까지의 변환 횟수와 제거된 0의 갯수를 반환해야하는 문제이다. 따라서 변환 횟수와 제거되는 0의 갯수를 알 수 있도록 변수를 만들어준 뒤, 조건에 맞는 반복문을 실행시켰다. 정답 코드 def solution(s): i..

Algorithm/PS

[프로그래머스] 개인정보 수집 유효기간 [python]

문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 이 문제는 주어진 문자열을 날짜부분과 개인정보 부분으로 적절하게 나누면서, 두 날짜를 비교해야하는 문제이다. 이 문제를 풀기 위해서는 먼저 split() 함수를 통해 문자열을 적절하게 분리해주어야 한다. today : split('.')을 통해 연, 월, 일로 분리 가능 terms : split(' ')을 통해 개인정보와 유효기간으로 분리 가능 privacies : split(' ')과 split('.')을 통해 연, 월, 일과 개인정보로 분리 가능 이를 통해 terms와 privacie..

Algorithm/PS

[BOJ/백준] 26546 - Reverse [python]

문제 링크 26546번: Reverse The first line will contain a single integer n that indicates the number of data sets that follow. Each data set will be one line with a string and two integers i and j, separated by spaces. The first int, i, is the start index of the substring to be taken www.acmicpc.net 문제 풀이 문자열 중, 입력값으로 주어진 i와 j사이의 인덱스는 출력하지 않는 문제이다. 따라서, 문자열 인덱스 0부터 i까지, j부터 문자열의 끝까지 출력할 수 있도록 코드를 작성했다..

Algorithm/PS

[C++, python] 프로그래머스 - 둘만의 암호

문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 이 문제는 주어진 조건에 따라 문자열을 다시 만들어주는 문제이다. 두 문자열 s, skip과 자연수 index가 주어질 때, 조건은 다음과 같다. 문자열 s의 각 알파벳을 index만큼 뒤의 알파벳으로 바꿔준다. index만큼의 뒤의 알파벳이 z를 넘어갈 경우 다시 a로 돌아간다. skip에 있는 알파벳은 제외하고 건너뛴다. 이 조건을 보았을 때, 먼저 전체 소문자 알파벳 문자열을 만들어준 뒤, skip에 포함된 알파벳들을 제거해서 우리가 사용할 알파벳 배열을 만들어주어야 한다. alph..

Algorithm/PS

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

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

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..

chanwoong1
'string' 태그의 글 목록