Coding Test/Algorithm #Python3 6

[백준] 괄호 #자료구조 #알고리즘

문제 바로가기 👉 백준 9012번☑️  문제 요약입력으로 주어진 괄호 문자열이 VPS 인지 아닌지를 판단해서 그 결과를 YES 와 NO 로 나타내는 프로그램 작성- 입력 데이터는 표준 입력을 사용한다. - 입력은 T개의 테스트 데이터로 주어진다.- 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. - 각 테스트 데이터의 첫째 줄에는 괄호 문자열이 한 줄에 주어진다.- 하나의 괄호 문자열의 길이는 2 이상 50 이하 ☑️  KEY 포인트문제 풀이 과정을 먼저 생각한다.먼저 몇 개의 텍스트가 입력될 건지 입력받는다.입력받은 텍스트 수 만큼 텍스트를 입력 받는다.가능할 때까지 완성된 괄호를 제거한다.위 과정을 코드로 구현한다.input()을 사용해서 텍스트 수와 텍스트를 입력받는다.텍스트 단..

[백준] 단어 뒤집기 #자료구조 #알고리즘

문제 바로가기 👉 백준 9093번☑️  문제 요약문장이 주어졌을 때, 단어를 모두 뒤집어서 출력하는 프로그램 작성- 첫째 줄에 테스트 케이스의 개수 T가 주어진다.- 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다.- 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다.- 단어와 단어 사이에는 공백 존재 ☑️  KEY 포인트문제 풀이 과정을 먼저 생각한다.먼저 몇 개의 문장이 입력될 건지 입력받는다.입력받은 문장의 수 만큼 문장을 입력 받는다.문장 하나를 입력받고, 단어 단위로 쪼갠다.단어를 뒤집에서 새로운 문장에 추가한다.위 과정을 코드로 구현한다.input()을 사용해서 문장 수와 문장을 입력받는다.문장 단위 for문, 단어 단위 for문으로 구조를 만든다.단어 단위에서 ..

[백준] 정수 저장 및 명령 처리 프로그램 #스택 #알고리즘

문제 바로가기 👉 백준 10828번☑️  문제 요약정수를 저장하는 스택을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램 작성명령 종류push X: 정수 X를 스택에 넣는 연산이다.pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다.size: 스택에 들어있는 정수의 개수를 출력한다.empty: 스택이 비어있으면 1, 아니면 0을 출력한다.top: 스택의 가장 위에 있는 정수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다. ☑️  KEY 포인트문제 풀이 과정을 먼저 생각한다.먼저 몇 개의 명령이 입력될 건지 입력받는다.입력받은 명령의 수 만큼 명령을 입력 받는다.명령 하나를 입력받을 때, 위 '명..

[프로그래머스] K번째수 #정렬 #알고리즘

문제 바로가기 👉 프로그래머스☑️  문제 요약주어진 배열 array에서 특정 구간 [i, j]을 잘라 정렬한 후, k번째 숫자를 구한다.제한사항• array의 길이는 1~100• commands의 길이는 1~50• array의 원소 값과 i, j, k 값은 1~100 ☑️  KEY 포인트문제 풀이 과정을 먼저 생각한다.array의 i번째부터 j번째까지 슬라이싱자른 배열을 정렬정렬된 배열에서 k번째 숫자를 찾음위 과정을 commands에 있는 모든 [i, j, k]에 대해 수행하여 결과 배열을 반환위 과정을 코드로 구현한다.리스트 슬라이싱 활용(array[i-1:j]) - 리스트 인덱스는 0부터 시작하므로 i에서 1을 빼준다.반복문을 통해서 commands 안에 있는 리스트들(개별 command)로 모두..

[프로그래머스] 같은 숫자는 싫어 #스택/큐 #알고리즘

문제 바로가기 👉 프로그래머스☑️  문제 요약배열 arr에서 연속적으로 중복된 숫자를 하나만 남기고 제거해야 합니다.남은 숫자들의 순서는 유지해야 합니다.제한 사항• arr의 길이는 최대 1,000,000• arr의 원소는 0~9 사이의 정수 ☑️  KEY 포인트반복문을 통해서 배열의 첫번째 숫자부터 그 다음 숫자와 비교하며 체크해 나간다.2가지의 갈래로 경우의 수를 나눠야 한다. (1) 배열의 끝자리일 때와 아닐 때(2) 현재 숫자가 다음 숫자와 같을 때와 아닐 때배열의 끝자리가 아닐 때, 현재 숫자와 다음 숫자를 비교하여 두 수가 다르면 현재 숫자를 answer 리스트에 추가현재 숫자가 배열의 끝자리일 경우 무조건 answer 리스트에 추가 ☑️  해결 코드def solution(arr): a..

[프로그래머스] 폰켓몬 #해시 #알고리즘

문제 바로가기 👉 프로그래머스☑️  문제 요약당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다.1. N마리의 폰켓몬 중 N/2마리를 선택할 때, 최대한 다양한 종류를 선택해야 한다.2. 같은 번호의 폰켓몬은 같은 종류로 간주된다.3. 선택할 수 있는 폰켓몬의 최대 종류 개수를 반환해야 한다.4. nums 배열의 길이 N은 1 이상 10,000 이하의 짝수이며, 폰켓몬 번호는 1 이상 200,000 이하이다.5. 최적의 선택 방법이 여러 개여도, 최대 종류 개수 하나만 반환한다. ☑️  KEY 포인트동일한 배열에서 같은 폰켓몬 종류를 제외한, Unique한 종류 개수..