[Java Algorithm] 프로그래머스 Lv.0 _ 간단한 논리 연산
·
Algorithm Study
[문제]boolean 변수 x1, x2, x3, x4가 매개변수로 주어질 때, 다음의 식의 true/false를 return 하는 solution 함수를 작성해 주세요.- (x1 ∨ x2) ∧ (x3 ∨ x4) [Algorithm]논리 연산자에 대해 알고 있으면 아주 쉬운 문제 .. [Code]class Solution { public boolean solution(boolean x1, boolean x2, boolean x3, boolean x4) { return (x1 || x2) && (x3 || x4); }} [+ Plus]* 논리 연산자와 비트 연산자https://velog.io/@yeoonnii/JAVA-%EB%85%BC%EB%A6%AC%EC%97%B0%EC%82%B0%..
[Java Algorithm] 프로그래머스 Lv.0 _ 배열 만들기 2
·
카테고리 없음
[문제]정수 l과 r이 주어졌을 때, l 이상 r이하의 정수 중에서 숫자 "0"과 "5"로만 이루어진 모든 정수를 오름차순으로 저장한 배열을 return 하는 solution 함수를 완성해 주세요.만약 그러한 정수가 없다면, -1이 담긴 배열을 return 합니다. [Algorithm]l 과 r 사이의 정수를 문자로 변환하여 for문을 통해 '0'과 '5'와의 일치 여부를 확인하고,일치하지 않으면 valid 값을 false로 바꿔 결과 배열에 추가하지 않도록 만든다 [Code]import java.util.*;class Solution { public int[] solution(int l, int r) { List result = new ArrayList(); ..
[Java Algorithm] 프로그래머스 Lv.0 _ 배열 만들기 4
·
Algorithm Study
[문제]정수 배열 arr가 주어집니다. arr를 이용해 새로운 배열 stk를 만드려고 합니다.변수 i를 만들어 초기값을 0으로 설정한 후 i가 arr의 길이보다 작으면 다음 작업을 반복합니다.만약 stk가 빈 배열이라면 arr[i]를 stk에 추가하고 i에 1을 더합니다.stk에 원소가 있고, stk의 마지막 원소가 arr[i]보다 작으면 arr[i]를 stk의 뒤에 추가하고 i에 1을 더합니다.stk에 원소가 있는데 stk의 마지막 원소가 arr[i]보다 크거나 같으면 stk의 마지막 원소를 stk에서 제거합니다.위 작업을 마친 후 만들어진 stk를 return 하는 solution 함수를 완성해 주세요. [Algorithm]while 반복문 사용조건 : arr 배열의 길이보다 i가 작은 경우 로직 실..
[Java Algorithm] 프로그래머스 Lv.0 _ 콜라츠 수열 만들기
·
Algorithm Study
[문제]모든 자연수 x에 대해서 현재 값이 x이면 x가 짝수일 때는 2로 나누고, x가 홀수일 때는 3 * x + 1로 바꾸는 계산을 계속해서 반복하면 언젠가는 반드시 x가 1이 되는지 묻는 문제를 콜라츠 문제라고 부릅니다.그리고 위 과정에서 거쳐간 모든 수를 기록한 수열을 콜라츠 수열이라고 부릅니다.계산 결과 1,000 보다 작거나 같은 수에 대해서는 전부 언젠가 1에 도달한다는 것이 알려져 있습니다.임의의 1,000 보다 작거나 같은 양의 정수 n이 주어질 때 초기값이 n인 콜라츠 수열을 return 하는 solution 함수를 완성해 주세요. [Algorithm]반복문(while)을 사용해 조건에 부합하는 경우 로직을 실행하도록 한다.문제에서 제시한 분기처리를 if문을 통해 적절히 수행하고 whil..
[Java Algorithm] 프로그래머스 Lv.0 _ 수열과 구간 쿼리 2
·
Algorithm Study
[문제]정수 배열 arr와 2차원 정수 배열 queries이 주어집니다. queries의 원소는 각각 하나의 query를 나타내며, [s, e, k] 꼴입니다.각 query마다 순서대로 s ≤ i ≤ e인 모든 i에 대해 k보다 크면서 가장 작은 arr[i]를 찾습니다.각 쿼리의 순서에 맞게 답을 저장한 배열을 반환하는 solution 함수를 완성해 주세요.단, 특정 쿼리의 답이 존재하지 않으면 -1을 저장합니다. [Algorithm]반복문을 외부와 내부에 사용하여 조건을 만족하는 값을 찾는다.1. 외부 반복문 2차원 배열 queries의 길이만큼 실행queries의 원소를 반복하면서 각 query의 원소들을 s,e,k에 각각 할당 + min값을 선언하여 조건에 이후 내부 반복문에서 조건에 알맞는 min..
[Java Algorithm] 프로그래머스 Lv.0 _ 수열과 구간 쿼리 3
·
Algorithm Study
[문제]정수 배열 arr와 2차원 정수 배열 queries이 주어집니다. queries의 원소는 각각 하나의 query를 나타내며, [i, j] 꼴입니다.각 query마다 순서대로 arr[i]의 값과 arr[j]의 값을 서로 바꿉니다.위 규칙에 따라 queries를 처리한 이후의 arr를 return 하는 solution 함수를 완성해 주세요. [Algorithm]반복문을 통해 queries의 원소인 query를 모두 확인하여 query의 원소를 arr 배열 인덱스에 대입하기 [Code]class Solution { public int[] solution(int[] arr, int[][] queries) { int n = 0; for(int i =0; i arr[j]가 que..
[Java Algorithm] 프로그래머스 Lv.0 _ 등차수열의 특정한 항만 더하기
·
Algorithm Study
[문제]두 정수 a, d 와 길이가 n인 boolean 배열 included가 주어집니다. 첫째항이 a, 공차가 d인 등차수열에서 Included[i]가 i + 1 항을 의미할 때, 이 등차수열의 1항부터 n항까지 included가 true인 항들만 더한 값을 return 하는 solution 함수를 작성해주세요. [Algorithm]반복문에서 조건문을 사용하여 배열의 해당 인덱스가 true 경우의 등차수열 해당 항을 계산해서 더해주기 [Code]class Solution { public int solution(int a, int d, boolean[] included) { int answer = 0; for(int i=0; i [+ 다른 사람 풀이]impor..
[Java Algorithm] 프로그래머스 Lv.0 _ 코드 처리하기
·
Algorithm Study
[문제]문자열 code 가 주어집니다.code를 앞에서부터 읽으면서 만약 문자가 "1"이면 mode를 바꿉니다. mode에 따라 code를 읽어가면서 문자열 ret을 만들어냅니다. mode는 0과 1이 있으며, idx를 0부터 code의 길이 - 1까지 1씩 키워나가면서 code[idx]의 값에 따라 다음과 같이 행동합니다.1. mode가 0일 때- code[idx]가 "1"이 아니면 idx가 짝수일 때만 ret의 맨 뒤에 code[idx]를 추가합니다.- code[idx]가 "1"이면 mode를 0에서 1로 바꿉니다.2. mode가 1일 때- code[idx]가 "1"이 아니면 idx가 홀수일 때만 ret의 맨 뒤에 code[idx]를 추가합니다.- code[idx]가 "1"이면 mode를 1에서 0으..