프로그래머스 89

[프로그래머스 LV.0] 배열 만들기 6

목차 #1 배열 만들기 6 문제 설명 0과 1로만 이루어진 정수 배열 arr가 주어집니다. arr를 이용해 새로운 배열 stk을 만드려고 합니다. i의 초기값을 0으로 설정하고 i가 arr의 길이보다 작으면 다음을 반복합니다. 만약 stk이 빈 배열이라면 arr[i]를 stk에 추가하고 i에 1을 더합니다. stk에 원소가 있고, stk의 마지막 원소가 arr[i]와 같으면 stk의 마지막 원소를 stk에서 제거하고 i에 1을 더합니다. stk에 원소가 있는데 stk의 마지막 원소가 arr[i]와 다르면 stk의 맨 마지막에 arr[i]를 추가하고 i에 1을 더합니다. 위 작업을 마친 후 만들어진 stk을 return 하는 solution 함수를 완성해 주세요. 단, 만약 빈 배열을 return 해야한다..

[프로그래머스 LV.0] 빈 배열에 추가, 삭제하기

목차 #1 빈 배열에 추가, 삭제하기 문제 설명 아무 원소도 들어있지 않은 빈 배열 X가 있습니다. 길이가 같은 정수 배열 arr과 boolean 배열 flag가 매개변수로 주어질 때, flag를 차례대로 순회하며 flag[i]가 true라면 X의 뒤에 arr[i]를 arr[i] × 2 번 추가하고, flag[i]가 false라면 X에서 마지막 arr[i]개의 원소를 제거한 뒤 X를 return 하는 solution 함수를 작성해 주세요. 제한사항 1 ≤ arr의 길이 = flag의 길이 ≤ 100 arr의 모든 원소는 1 이상 9 이하의 정수입니다. 현재 X의 길이보다 더 많은 원소를 빼는 입력은 주어지지 않습니다. 입출력 예 arr flag result 3, 2, 4, 1, 3] [true, fals..

[프로그래머스 LV.0] 배열의 원소만큼 추가하기

목차 #1 배열의 원소만큼 추가하기 문제 설명 아무 원소도 들어있지 않은 빈 배열 X가 있습니다. 양의 정수 배열 arr가 매개변수로 주어질 때, arr의 앞에서부터 차례대로 원소를 보면서 원소가 a라면 X의 맨 뒤에 a를 a번 추가하는 일을 반복한 뒤의 배열 X를 return 하는 solution 함수를 작성해 주세요. 제한사항 1 ≤ arr의 길이 ≤ 100 1 ≤ arr의 원소 ≤ 100 입출력 예 arr result [5, 1, 4] [5, 5, 5, 5, 5, 1, 4, 4, 4, 4] [6, 6] [6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6] [1] [1] 입출력 예 설명 입출력 예 #1 예제 1번에 대해서 a와 X를 나타내보면 다음 표와 같습니다.aX [] 5 [5, 5,..

[프로그래머스, LV.0] 세 개의 구분자

목차 #1 세 개의 구분자 문제 설명 임의의 문자열이 주어졌을 때 문자 "a", "b", "c"를 구분자로 사용해 문자열을 나누고자 합니다. 예를 들어 주어진 문자열이 "baconlettucetomato"라면 나눠진 문자열 목록은 ["onlettu", "etom", "to"]가 됩니다. 문자열 myStr이 주어졌을 때 위 예시와 같이 "a", "b", "c"를 사용해 나눠진 문자열을 순서대로 저장한 배열을 return 하는 solution 함수를 완성해 주세요. 단, 두 구분자 사이에 다른 문자가 없을 경우에는 아무것도 저장하지 않으며, return할 배열이 빈 배열이라면 ["EMPTY"]를 return 합니다. 제한사항 1 ≤ myStr의 길이 ≤ 1,000,000 myStr은 알파벳 소문자로 이루어진..

[프로그래머스, LV.0] 문자열 바꿔서 찾기

목차 #1 문자열 바꿔서 찾기 문제 설명 문자 "A"와 "B"로 이루어진 문자열 myString과 pat가 주어집니다. myString의 "A"를 "B"로, "B"를 "A"로 바꾼 문자열의 연속하는 부분 문자열 중 pat이 있으면 1을 아니면 0을 return 하는 solution 함수를 완성하세요. 제한사항 1 ≤ myString의 길이 ≤ 100 1 ≤ pat의 길이 ≤ 10 myString과 pat는 문자 "A"와 "B"로만 이루어진 문자열입니다. 입출력 예 myString pat result "ABBAA" "AABB" 1 "ABAB" "ABAB" 0 #2 알고리즘 및 코드 import java.util.ArrayList; import java.util.List; import java.util.st..

[프로그래머스, LV.0] 간단한 식 계산하기

목차 #1 간단한 식 계산하기 문제 설명 문자열 binomial이 매개변수로 주어집니다. binomial은 "a op b" 형태의 이항식이고 a와 b는 음이 아닌 정수, op는 '+', '-', '*' 중 하나입니다. 주어진 식을 계산한 정수를 return 하는 solution 함수를 작성해 주세요. 제한사항 0 ≤ a, b ≤ 40,000 0을 제외하고 a, b는 0으로 시작하지 않습니다. 입출력 예 binomial result "43 + 12" 55 "0 - 7777" -7777 "40000 * 40000" 1600000000 입출력 예 설명 입출력 예 #1 예제 1번의 binomial은 "43 + 12"로 이 식을 계산한 결과인 43 + 12 = 55를 return 합니다. 입출력 예 #2 예제 2..

[프로그래머스, LV.0] 문자열 잘라서 정렬하기

목차 #1 문자열 잘라서 정렬하기 문제 설명 문자열 myString이 주어집니다. "x"를 기준으로 해당 문자열을 잘라내 배열을 만든 후 사전순으로 정렬한 배열을 return 하는 solution 함수를 완성해 주세요. 단, 빈 문자열은 반환할 배열에 넣지 않습니다. 제한사항 1 ≤ myString ≤ 100,000 myString은 알파벳 소문자로 이루어진 문자열입니다. 입출력 예 myString result "axbxcxdx" ["a","b","c","d"] dxccxbbbxaaaa ["aaaa","bbb","cc","d"] 입출력 예 설명 입출력 예 #1 myString을 "x"를 기준으로 자른 배열은 ["a", "b", "c", "d"]이며, 이 배열은 이미 사전순으로 정렬된 상태입니다. 따라서 ..

[프로그래머스, LV.0] x 사이의 개수

목차 #1 x 사이의 개수 문제 설명 문자열 myString이 주어집니다. myString을 문자 "x"를 기준으로 나눴을 때 나눠진 문자열 각각의 길이를 순서대로 저장한 배열을 return 하는 solution 함수를 완성해 주세요. 제한사항 1 ≤ myString의 길이 ≤ 100,000 myString은 알파벳 소문자로 이루어진 문자열입니다. 입출력 예 myString result "oxooxoxxox" [1, 2, 1, 0, 1, 0] "xabcxdefxghi" [0, 3, 3, 3] 입출력 예 설명 입출력 예 #1 "x"를 기준으로 문자열을 나누면 ["o", "oo", "o", "", "o", ""]가 됩니다. 각각의 길이로 배열을 만들면 [1, 2, 1, 0, 1, 0]입니다. 따라서 [1, ..

[프로그래머스, LV.0] 공백으로 구분하기 2

목차 #1 공백으로 구분하기 2 문제 설명 단어가 공백 한 개 이상으로 구분되어 있는 문자열 my_string이 매개변수로 주어질 때, my_string에 나온 단어를 앞에서부터 순서대로 담은 문자열 배열을 return 하는 solution 함수를 작성해 주세요. 제한사항 my_string은 영소문자와 공백으로만 이루어져 있습니다. 1 ≤ my_string의 길이 ≤ 1,000 my_string의 맨 앞과 맨 뒤에도 공백이 있을 수 있습니다. my_string에는 단어가 하나 이상 존재합니다. 입출력 예 my_string result " i love you" {"i", "love", "you"} " programmers " {"programmers"} 입출력 예 설명 예제 1번의 my_string은 " ..

[프로그래머스, LV.0] ad 제거하기

목차 #1 ad 제거하기 문제설명 문자열 배열 strArr가 주어집니다. 배열 내의 문자열 중 "ad"라는 부분 문자열을 포함하고 있는 모든 문자열을 제거하고 남은 문자열을 순서를 유지하여 배열로 return 하는 solution 함수를 완성해 주세요. 제한사항 1 ≤ strArr의 길이 ≤ 1,000 1 ≤ strArr의 원소의 길이 ≤ 20 strArr의 원소는 알파벳 소문자로 이루어진 문자열입니다. 입출력 예 strArr result {"and","notad","abcd"} {"and","abcd"} {"there","are","no","a","ds"} {"there","are","no","a","ds"} 입출력 예 설명 입출력 예 #1 1번 인덱스의 문자열인 "notad"는 부분 문자열로 "ad"..