[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으..
[Java Algorithm] 프로그래머스: 해시 _ 완주하지 못한 선수
·
Algorithm Study
[문제]수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다.마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요.[제한사항]마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다.completion의 길이는 participant의 길이보다 1 작습니다.참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다.참가자 중에는 동명이인이 있을 수 있습니다. [Algorithm]1. HashMap을 이용해 참가자를 set     ➡️ 동명이인의 참가자가 ..
[Java Algorithm] 프로그래머스: 해시 _ 폰켓몬
·
Algorithm Study
[문제]당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다.홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 3번 폰켓몬 두 마리, 1번 폰켓몬 한 마리, 2번 폰켓몬 한 마리가 있음을 나타냅니다. 이때, 4마리의 폰켓몬 중 2마리를 고르는 방법은 다음과 같이 6가지가 있습니다.1. 첫 번째(3번), 두 번째(1번) 폰켓몬을 선택2. 첫 번째(3번), 세 번째(2번) 폰켓몬을 선택3..
[Java Algorithm] 프로그래머스 Lv.0 _ 조건 문자열
·
Algorithm Study
[문제] 문자열에 따라 다음과 같이 두 수의 크기를 비교하려고 합니다. 두 수가 n과 m 이라면, ">", "=" : n >= m "", "!" : n > m "")){ answer = n >= m ? 1 : 0 ; } else if (eq.equals("=") && ineq.equals("")){ answer = n > m ? 1 : 0 ; } else if (eq.equals("!") && ineq.equals("
[Java Algorithm] 프로그래머스 Lv.0 _ 홀짝에 따라 다른 값 반환하기
·
Algorithm Study
[문제] 양의 정수 n이 매개변수로 주어질 때, n이 홀수라면 n 이하의 홀수인 모든 양의 정수의 합을 return 하고 n이 짝수라면 n 이하의 짝수인 모든 양의 정수의 제곱의 합을 return 하는 solution 함수를 작성해주세요. [Algorithm] 조건문과 반복문 활용 1. 반복문으로 1부터 n까지 코드 반복 2. n 이 홀수인지 짝수인지 판별하는 조건 추가 3. n 이하의 정수 중 홀수와 짝수를 판별하는 조건 추가 [Code] class Solution { public int solution(int n) { int sum = 0; for(int i=1; i
[Java Algorithm] 프로그래머스 Lv.0 _ 두 수의 연산값 비교하기
·
Algorithm Study
[문제] 연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여쓴 값을 반환합니다. 예를 들면 다음과 같습니다. 12 ⊕ 3 = 123 3 ⊕ 12 = 312 양의 정수 a와 b가 주어졌을 때, a⊕b 와 2 * a * b 중 더 큰 값을 return하는 solution 함수를 완성해주세요. 단, a⊕b 와 2 * a * b 가 같다면 a⊕b 를 return 합니다. [Algorithm] 형변환에 관련된 문제 정수와 문자열의 형태를 바꾸는 메서드 다양하게 활용해보기 1. Integer.toString(Int형) (정수 ➡️ 문자열) 2. String.valueOf(int형) (정수 ➡️ 문자열) 3. Integer.parseInt(string형) (문자열 ➡️정수) [Code] // 형변환 Integer.p..
[Java Algorithm] 프로그래머스 Lv.0 _ 더 크게 합치기
·
Algorithm Study
👿 문제 👿 연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여쓴 값을 반환합니다. 예를 들면 다음과 같습니다. 12 ⊕ 3 = 123 3 ⊕ 12 = 312 양의 정수 a와 b가 주어졌을 때, a⊕b 와 b⊕a 중 더 큰 값을 return하는 solution 함수를 완성해주세요. 단, a⊕b 와 b⊕a 가 같다면 a⊕b 를 return 합니다. [Algorithm] 형변환에 관련된 문제 정수와 문자열의 형태를 바꾸는 메서드 다양하게 활용해보기 1. Integer.toString(Int형) (정수 ➡️ 문자열) 2. String.valueOf(int형) (정수 ➡️ 문자열) 3. Integer.parseInt(string형) (문자열 ➡️정수) [Code] // 반복문 사용 (코드 너무 길고 더러워!) ..