joonbread의 등록된 링크

키자드에 등록된 총 1673개의 포스트를 확인하실 수 있습니다.

Naver Blog

JavaScript_코딩 기초 트레이닝_등차수열의 특정한 항만 더하기_school_programmers

JavaScript_코딩 기초 트레이닝_등차수열의 특정한 항만 더하기_school_programmers 풀이 function solution(a, d, included) { // 등차수열 공식 : a의 N번째 값은 a + (n - 1)d 값이다.(a가 첫번째 값, d는 공차) let arr = new Array(), cnt = 0; // i번째에 해당하는 값이 i+1항의 값을 의미한다고 하여 n번째 값에 n-1이 아닌 n을 d에 곱해준다. included.map((idx,val) => { if(idx) arr[cnt++] = a + (val * d); }); // 모든 수 더해주기 return arr.reduce((a,b) => (a+b)); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181931 코딩테스트 연습 - 등차수열의 특정한 항만 더하기 두 정수 a , d 와 길이가 n인 boolean 배열 inclu

Naver Blog

JavaScript_코딩 기초 트레이닝_주사위 게임 2_school_programmers

JavaScript_코딩 기초 트레이닝_주사위 게임 2_school_programmers 풀이 function solution(a, b, c) { // 값 세팅 const arr = [a,b,c]; const res1 = a + b + c; const res2 = (Math.pow(a,2) + Math.pow(b,2) + Math.pow(c,2)); const res3 = (Math.pow(a,3) + Math.pow(b,3) + Math.pow(c,3)); let cnt = 0, res = 0; // 배열 필터로 같은 값을 확인 // 모두 다른 경우 -> 3 / 2개만 같다면 -> 5 / 모두 같은 경우 -> 9를 반환 arr.filter((val) => arr.filter((val2) =>{ cnt += val == val2 ? 1 : 0; })); res = cnt == 3 ? res1 : Math.floor(cnt / 3) == 1 ? res1 * res2 : res1 * r

Naver Blog

JavaScript_코딩 기초 트레이닝_원소들의 곱과 합_school_programmers

JavaScript_코딩 기초 트레이닝_원소들의 곱과 합_school_programmers 풀이 function solution(num_list) { let res1 = 0, res2 = 1, cnt = 0; // 모든 원소들의 합, 곱을 구한다. while(cnt++ < 2) num_list.map((num) => { cnt == 1 ? res1 += num : res2 *= num } ); // 모든 원소들의 합의 제곱과 곱을 비교하여 값을 출력 return Math.pow(res1,2) > res2 ? 1 : 0; } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181929 코딩테스트 연습 - 원소들의 곱과 합 정수가 담긴 리스트 num_list 가 주어질 때, 모든 원소들의 곱이 모든 원소들의 합의 제곱보다 작으면 1을 크면 0을 return하도록 solution 함수를 완성해주세요. 제한사항 2 ≤ num_

Naver Blog

JavaScript_코딩 기초 트레이닝_이어 붙인 수_school_programmers

JavaScript_코딩 기초 트레이닝_이어 붙인 수_school_programmers 풀이 function solution(num_list) { // 문자열에 정수를 붙이기 위해 문자열 배열 생성 const arr = ["",""]; // 홀수일경우 arr[0]에, 짝수일경우 arr[1]에 넣는다. num_list.map((val) => {val % 2 == 1 ? arr[0] += val : arr[1] += val}); // 문자열을 다시 수로 변환하면 끝 return Number(arr[0]) + Number(arr[1]); } 풀고 나서 join("")을 미쳐 생각못한걸 뒤늦게 알았다.. * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181928 코딩테스트 연습 - 이어 붙인 수 정수가 담긴 리스트 num_list 가 주어집니다. num_list 의 홀수만 순서대로 이어 붙인 수와 짝수만 순서대로 이어 붙인

Naver Blog

JavaScript_코딩 기초 트레이닝_n개 간격의 원소들_school_programmers

JavaScript_코딩 기초 트레이닝_n개 간격의 원소들_school_programmers 풀이 function solution(num_list, n) { // filter로 인덱스 / n = 0일때 반환한다. return num_list.filter((val,idx) => idx % n == 0 ) ; } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181888 코딩테스트 연습 - n개 간격의 원소들 정수 리스트 num_list 와 정수 n 이 주어질 때, num_list 의 첫 번째 원소부터 마지막 원소까지 n 개 간격으로 저장되어있는 원소들을 차례로 담은 리스트를 return하도록 solution 함수를 완성해주세요. 제한사항 5 ≤ num_list 의 길이 ≤ 20 1 ≤ num_list 의 원소 ≤ 9 1 ≤ n ≤ 4 입출력 예 num_list n result [4, 2, 6, 1, 7, 6] 2 [4,

Naver Blog

JavaScript_코딩 기초 트레이닝_문자열 겹쳐쓰기_school_programmers

JavaScript_코딩 기초 트레이닝_문자열 겹쳐쓰기_school_programmers 풀이 function solution(my_string, overwrite_string, s) { var str = ""; // 문자열 -> 배열화 -> 반복문으로 value , index를 추출 // index의 범위를 지정하여 조건에 맞춰 값 추가 [...my_string].forEach((k,v) => {str += (v < s || v >= [...overwrite_string].length + s ) ? k : [...overwrite_string][v-s]}); return str; } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181943 코딩테스트 연습 - 문자열 겹쳐쓰기 문자열 my_string , overwrite_string 과 정수 s 가 주어집니다. 문자열 my_string 의 인덱스 s 부터 overw

Naver Blog

JavaScript_코딩 기초 트레이닝_문자열 섞기_school_programmers

JavaScript_코딩 기초 트레이닝_문자열 섞기_school_programmers 풀이 function solution(str1, str2) { let str = ""; // 문자열 -> 배열 -> 반복문 -> 문자(str1) + 다른 문자열(str2)의 문자 하나씩 더하기 [...str1].forEach((k,v) => {str += k + [...str2][v]}); return str; } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181942 코딩테스트 연습 - 문자열 섞기 문제 설명 길이가 같은 두 문자열 str1 과 str2 가 주어집니다. 두 문자열의 각 문자가 앞에서부터 서로 번갈아가면서 한 번씩 등장하는 문자열을 만들어 return 하는 solution 함수를 완성해 주세요. 제한사항 1 ≤ str1 의 길이 = str2 의 길이 ≤ 10 str1 과 str2 는 알파벳 소문자로 이루어진 문자열

Naver Blog

JavaScript_코딩 기초 트레이닝_문자 리스트를 문자열로 변환하기_school_programmers

JavaScript_코딩 기초 트레이닝_문자 리스트를 문자열로 변환하기_school_programmers 풀이 function solution(arr) { // 배열 -> join 합치기 return arr.join(''); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181941 코딩테스트 연습 - 문자 리스트를 문자열로 변환하기 문제 설명 문자들이 담겨있는 배열 arr 가 주어집니다. arr 의 원소들을 순서대로 이어 붙인 문자열을 return 하는 solution함수를 작성해 주세요. 제한사항 1 ≤ arr 의 길이 ≤ 200 arr 의 원소는 전부 알파벳 소문자로 이루어진 길이가 1인 문자열입니다. 입출력 예 arr result ["a","b","c"] "abc" school.programmers.co.kr

Naver Blog

JavaScript_코딩 기초 트레이닝_문자열 곱하기_school_programmers

JavaScript_코딩 기초 트레이닝_문자열 곱하기_school_programmers 풀이 function solution(my_string, k) { // repeat(반복횟수)를 이용한 문제 return my_string.repeat(k); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181940 코딩테스트 연습 - 문자열 곱하기 문자열 my_string 과 정수 k 가 주어질 때, my_string 을 k 번 반복한 문자열을 return 하는 solution 함수를 작성해 주세요. 제한사항 1 ≤ my_string 의 길이 ≤ 100 my_string 은 영소문자로만 이루어져 있습니다. 1 ≤ k ≤ 100 입출력 예 my_string k result "string" 3 "stringstringstring" "love" 10 "lovelovelovelovelovelovelovelovelovelove" 입출

Naver Blog

JavaScript_코딩 기초 트레이닝_더 크게 합치기_school_programmers

JavaScript_코딩 기초 트레이닝_더 크게 합치기_school_programmers 풀이 function solution(a, b) { // String(정수)를 통해 문자열로 변환 이후 비교 시 더 큰 값을 확인하여 값을 Number()로 정수 변환 return String(a) + String(b) > String(b) + String(a) ? Number(String(a) + String(b)) : Number(String(b) + String(a)); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181939 코딩테스트 연습 - 더 크게 합치기 문제 설명 연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다. 12 ⊕ 3 = 123 3 ⊕ 12 = 312 양의 정수 a 와 b 가 주어졌을 때, a ⊕ b 와 b ⊕ a 중 더 큰 값을 return 하는 s

Naver Blog

JavaScript_코딩 기초 트레이닝_두 수의 연산값 비교하기_school_programmers

JavaScript_코딩 기초 트레이닝_두 수의 연산값 비교하기_school_programmers 풀이 function solution(a, b) { // `${변수명}`을 통해 문자열로 만들 수 있다. // a ⊕ b의 값과 2 * a * b 값을 비교, 만약 a ⊕ b가 크거나 같을 경우 a ⊕ b의 정수형을 반환한다. return `${a}${b}` >= 2 * a * b ? Number(`${a}${b}`) : 2 * a * b; } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181938 코딩테스트 연습 - 두 수의 연산값 비교하기 문제 설명 연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다. 12 ⊕ 3 = 123 3 ⊕ 12 = 312 양의 정수 a 와 b 가 주어졌을 때, a ⊕ b 와 2 * a * b 중 더 큰 값을 return하는 solution

Naver Blog

JavaScript_코딩 기초 트레이닝_n의 배수_school_programmers

JavaScript_코딩 기초 트레이닝_n의 배수_school_programmers 풀이 function solution(num, n) { // num을 n으로 나눴을 때 나머지가 0일 경우 1을 반환한다. return num % n == 0 ? 1 : 0; } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181937 코딩테스트 연습 - n의 배수 정수 num 과 n 이 매개 변수로 주어질 때, num 이 n 의 배수이면 1을 return n 의 배수가 아니라면 0을 return하도록 solution 함수를 완성해주세요. 제한사항 2 ≤ num ≤ 100 2 ≤ n ≤ 9 입출력 예 num n result 98 2 1 34 3 0 입출력 예 설명 입출력 예 #1 98은 2의 배수이므로 1을 return합니다. 입출력 예 #2 32는 3의 배수가 아니므로 0을 return합니다. school.programmers.co

Naver Blog

JavaScript_코딩 기초 트레이닝_공배수_school_programmers

JavaScript_코딩 기초 트레이닝_공배수_school_programmers 풀이 function solution(number, n, m) { // number를 n, m으로 나눴을 때 둘다 나머지가 0일 경우 1, 아니면 0을 반환한다. return number % n == 0 && number % m == 0 ? 1 : 0; } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181936 코딩테스트 연습 - 공배수 정수 number 와 n , m 이 주어집니다. number 가 n 의 배수이면서 m 의 배수이면 1을 아니라면 0을 return하도록 solution 함수를 완성해주세요. 제한사항 10 ≤ number ≤ 100 2 ≤ n , m < 10 입출력 예 number n m result 60 2 3 1 55 10 5 0 입출력 예 설명 입출력 예 #1 60은 2의 배수이면서 3의 배수이기 때문에 1을 re

Naver Blog

JavaScript_코딩 기초 트레이닝_홀짝에 따라 다른 값 반환하기_school_programmers

JavaScript_코딩 기초 트레이닝_홀짝에 따라 다른 값 반환하기_school_programmers 풀이 function solution(n) { // Array로 특정 숫자 길이만큼 배열을 만든 다음, fill()을 이용하여 값을 리셋한다. // map(value, index)을 이용하여 인덱스 +1의 값을 을 이용한 특정 숫자까지의 배열을 만듦 // 만약, 양의 정수가 짝수이면 짝수 제곱 값을 더하여 반환 // 만약, 양의 정수가 홀수이면 홀수 값을 더하여 반환 var res = 0; Array(n).fill().map((v,i)=>i+1).filter(v => {res += (n % 2 == 1 && v % 2 == 1) ? v : (n % 2 == 0 && v % 2 == 0) ? v * v : 0}); return res; } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181935 코딩테스트 연습 -

Naver Blog

JavaScript_코딩 기초 트레이딩_a와 b 출력하기_school_programmers

JavaScript_코딩 기초 트레이딩_a와 b 출력하기_school_programmers 풀이 const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); let input = []; rl.on('line', function (line) { input = line.split(' '); }).on('close', function () { // console.log()에서 문자열 그대로 출력하는 문제 console.log("a = " + Number(input[0]) + "\nb = " + Number(input[1])); }); * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181951 코딩테스트 연습 - a와 b 출력하기 문제 설명 정수 a 와 b 가 주어

Naver Blog

JavaScript_코딩 기초 트레이닝_문자열 반복해서 출력하기_school_programmers

JavaScript_코딩 기초 트레이닝_문자열 반복해서 출력하기_school_programmers 풀이 const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); let input = []; rl.on('line', function (line) { input = line.split(' '); }).on('close', function () { str = input[0]; n = Number(input[1]); // 값.repeat(반복 횟수)를 통해 특정수(n) 만큼 반복한다. console.log(str.repeat(n)); }); * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181950 코딩테스트 연습 - 문자열 반복해서 출력하기 문제 설명 문자열 s

Naver Blog

JavaScript_코딩 기초 트레이닝_대소문자 바꿔서 출력하기_school_programmers

JavaScript_코딩 기초 트레이닝_대소문자 바꿔서 출력하기_school_programmers 풀이 const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); let input = []; rl.on('line', function (line) { input = [line]; }).on('close',function(){ str = input[0]; // 변환할 값을 저장할 배열 준비 let arr = []; // 입력된 문자열을 배열로 만든 뒤, 해당 문자가 대문자면 소문자, 아니라면 대문자로 변경 str.split('').forEach((k) => {arr.push(k == k.toUpperCase() ? k.toLowerCase() : k.toUpperCase()); }); // 이후 문자배열 합치기 console.

Naver Blog

JavaScript_코딩 기초 트레이닝_특수문자 출력하기_school_programmers

JavaScript_코딩 기초 트레이닝_특수문자 출력하기_school_programmers 풀이 const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); rl.on('close', function () { // `을 이용하여 문자열로 인식하도록 설정 // \는 문자열로 쓰려면 앞에 \ 더 붙여주면 된다. console.log(`!@#$%^&*(\\'"<>?:;`); }); * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181948 코딩테스트 연습 - 특수문자 출력하기 solution.c 실행 결과 실행 결과가 여기에 표시됩니다. school.programmers.co.kr

Naver Blog

JavaScript_코딩 기초 트레이닝_덧셈식 출력하기_school_programmers

JavaScript_코딩 기초 트레이닝_덧셈식 출력하기_school_programmers 풀이 const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); let input = []; rl.on('line', function (line) { input = line.split(' '); }).on('close', function () { // 그대로 합치면 문자열(45)으로 합쳐지므로, 한번 묶어준다. console.log(Number(input[0]) + " + " + Number(input[1]) + " = " + (Number(input[0]) + Number(input[1])) ); }); * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181947 코딩

Naver Blog

JavaScript_코딩 기초 트레이닝_문자열 붙여서 출력하기_school_programmers

JavaScript_코딩 기초 트레이닝_문자열 붙여서 출력하기_school_programmers 풀이 const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); let input = []; rl.on('line', function (line) { input = line.split(' '); }).on('close', function () { str1 = input[0]; str2 = input[1]; // 공백제거 -> trim() 사용 console.log((str1+str2).trim()); }); * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181946 코딩테스트 연습 - 문자열 붙여서 출력하기 문제 설명 두 개의 문자열 str1 , str2 가 공

Naver Blog

JavaScript_코딩 기초 트레이닝_문자열 돌리기_school_programmers

JavaScript_코딩 기초 트레이닝_문자열 돌리기_school_programmers 풀이 const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); let input = []; rl.on('line', function (line) { input = [line]; }).on('close',function(){ str = input[0]; // 문자열을 배열로 만든뒤, 배열 값을 console.log로 찍음 [...str].forEach(function(x){console.log(x)}); }); * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181945 코딩테스트 연습 - 문자열 돌리기 문제 설명 문자열 str 이 주어집니다. 문자열을 시계방향으로 90도

Naver Blog

JavaScript_코딩 기초 트레이닝_홀짝 구분하기_school_programmers

JavaScript_코딩 기초 트레이닝_홀짝 구분하기_school_programmers 풀이 const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); let input = []; rl.on('line', function (line) { input = line.split(' '); }).on('close', function () { n = Number(input[0]); // 삼항연산자를 이용, 2로 나눈 나머지가 0일경우 even, 1일경우 odd를 출력 console.log(n + " is " + (n % 2 == 0 ? "even" : "odd")); }); * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181944 코딩테스트 연습 - 홀짝 구분하기

Naver Blog

JAVA_Delete Columns to Make Sorted_LeetCode 944

JAVA_Delete Columns to Make Sorted_LeetCode 944 풀이 class Solution { public int minDeletionSize(String[] strs) { int len = strs[0].length(), res = 0; for(int i = 0; i < len; i++){ char ch1 = 'a'; for(String str : strs){ char ch2 = str.charAt(i); if(ch2 < ch1){ res++; break; } ch1 = ch2; } } return res; } } * 출처 https://leetcode.com/problems/delete-columns-to-make-sorted/ Delete Columns to Make Sorted - LeetCode Can you solve this real interview question? Delete Columns to Make Sorted - You are gi

Naver Blog

JAVA_Verifying an Alien Dictionary_LeetCode 953

JAVA_Verifying an Alien Dictionary_LeetCode 953 풀이 class Solution { public boolean isAlienSorted(String[] words, String order) { for (int i = 0; i < words.length - 1; ++i) { // 비교값 세팅 String word1 = words[i], word2 = words[i+1]; // 비교값중 가장 높은 문자 기준 검색 for (int j = 0; j < Math.max(word1.length(), word2.length()); ++j) { // order에서 문자 찾아서 값 세팅 int order1 = j < word1.length() ? order.indexOf(word1.charAt(j)) : -1; int order2 = j < word2.length() ? order.indexOf(word2.charAt(j)) : -1; if(order1 > or

Naver Blog

JAVA_N-Repeated Element in Size 2N Array_LeetCode 961

JAVA_N-Repeated Element in Size 2N Array_LeetCode 961 풀이 class Solution { public int repeatedNTimes(int[] nums) { // 문제 내용 : 특정 값은 반복해서 나오지만, 나머지 값은 한번씩 나옴 Set<Integer> set = new HashSet<>(); // hashset의 contains를 이용해서 값 체크 // 만약 반복된 수가 있을 경우 그 값을 반환 for(int num : nums) if(set.contains(num)){ return num; } else{ set.add(num); } return -1; } } * 출처 https://leetcode.com/problems/n-repeated-element-in-size-2n-array/ N-Repeated Element in Size 2N Array - LeetCode Can you solve this real interview qu

Naver Blog

JAVA_Univalued Binary Tree_LeetCode 965

JAVA_Univalued Binary Tree_LeetCode 965 풀이 class Solution { // 비교 set Set<Integer> set = new HashSet<>(); public boolean isUnivalTree(TreeNode root) { if (root == null) return set.size() == 1; // 재귀시 값 설정 set.add(root.val); return isUnivalTree(root.left) && isUnivalTree(root.right); } } * 출처 https://leetcode.com/problems/univalued-binary-tree/ Univalued Binary Tree - LeetCode Can you solve this real interview question? Univalued Binary Tree - A binary tree is uni-valued if every node in the tree

Naver Blog

JAVA_Largest Perimeter Triangle_LeetCode 976

JAVA_Largest Perimeter Triangle_LeetCode 976 풀이 class Solution { public int largestPerimeter(int[] nums) { // 삼각형 변을 순서대로 정렬 Arrays.sort(nums); // for문으로 삼각형 변 배열에서 가장 긴 변이 다른 2변의 합보다 작아야 함 for (int i = nums.length - 1; i > 1; --i) if (nums[i] < nums[i - 1] + nums[i - 2]) return nums[i] + nums[i - 1] + nums[i - 2]; return 0; } } * 출처 https://leetcode.com/problems/largest-perimeter-triangle/ Largest Perimeter Triangle - LeetCode Can you solve this real interview question? Largest Perimeter Triang

Naver Blog

JAVA_Squares of a Sorted Array_LeetCode 977

JAVA_Squares of a Sorted Array_LeetCode 977 풀이 class Solution { public int[] sortedSquares(int[] nums) { return Arrays.stream(nums).map(i -> i * i).sorted().toArray(); } } * 출처 https://leetcode.com/problems/squares-of-a-sorted-array/ Squares of a Sorted Array - LeetCode Can you solve this real interview question? Squares of a Sorted Array - Given an integer array nums sorted in non-decreasing order, return an array of the squares of each number sorted in non-decreasing order. Example 1: Input: n

Naver Blog

JAVA_Add to Array-Form of Integer_LeetCode 989

JAVA_Add to Array-Form of Integer_LeetCode 989 풀이 class Solution { public List<Integer> addToArrayForm(int[] num, int k) { LinkedList<Integer> res = new LinkedList<>(); int n = num.length - 1; // LinkedList의 addFirst를 이용하여 계산한 값을 앞에 추가(추가할때마다 밀려남) while(n >= 0 || k != 0){ if(n >= 0) k += num[n--]; res.addFirst(k % 10); k /= 10; } return res; } } * 출처 https://leetcode.com/problems/add-to-array-form-of-integer/ Add to Array-Form of Integer - LeetCode Can you solve this real interview question? Add

Naver Blog

JavaScript_코딩 기초 트레이닝_문자열 출력하기_school_programmers

JavaScript_코딩 기초 트레이닝_문자열 출력하기_school_programmers 풀이 const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); let input = []; rl.on('line', function (line) { input = [line]; }).on('close',function(){ str = input[0]; console.log(str); }); 문제유형이 js라서 혹시 했는데 그냥 console.log()에 값을 넣으면 끝나는 문제였다. * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181952 코딩테스트 연습 - 문자열 출력하기 문제 설명 문자열 str 이 주어질 때, str 을 출력하는 코드를 작성해 보세요. 제한사항

Naver Blog

JAVA_Sort Array By Parity II_LeetCode 922

JAVA_Sort Array By Parity II_LeetCode 922 풀이 class Solution { public int[] sortArrayByParityII(int[] nums) { int odd = 1, even = 0; int[] arr = new int[nums.length]; for(int a: nums){ if(a % 2 == 0){ arr[even] = a; even += 2; }else{ arr[odd] = a; odd+=2; } } return arr; } } * 출처 https://leetcode.com/problems/sort-array-by-parity-ii/ Sort Array By Parity II - LeetCode Can you solve this real interview question? Sort Array By Parity II - Given an array of integers nums, half of the integers in num

Naver Blog

JAVA_Long Pressed Name_LeetCode 925

JAVA_Long Pressed Name_LeetCode 925 풀이 class Solution { public boolean isLongPressedName(String name, String typed) { int num = 0; for(int i = 0; i < typed.length(); i++){ if(num < name.length() && name.charAt(num) == typed.charAt(i)) num++; else if(i == 0 || typed.charAt(i) != typed.charAt(i-1)) return false; } return num == name.length(); } } * 출처 https://leetcode.com/problems/long-pressed-name/ Long Pressed Name - LeetCode Can you solve this real interview question? Long Pressed Name - Your f

Naver Blog

JAVA_Unique Email Addresses_LeetCode 929

JAVA_Unique Email Addresses_LeetCode 929 풀이 class Solution { public int numUniqueEmails(String[] emails) { Set<String> res = new HashSet<>(); for(String str : emails){ String[] str2 = str.split("@"); str2[0] = str2[0].replaceAll("\\.",""); res.add(str2[0].split("\\+")[0] + "@" + str2[1]); } return res.size(); } } * 출처 https://leetcode.com/problems/unique-email-addresses/ Unique Email Addresses - LeetCode Can you solve this real interview question? Unique Email Addresses - Every valid email consi

Naver Blog

JAVA_Number of Recent Calls_LeetCode 933

JAVA_Number of Recent Calls_LeetCode 933 풀이 class RecentCounter { Queue<Integer> queue; public RecentCounter() { queue = new LinkedList(); } public int ping(int t) { queue.add(t); while (queue.peek() < t - 3000) queue.poll(); return queue.size(); } } /** * Your RecentCounter object will be instantiated and called as such: * RecentCounter obj = new RecentCounter(); * int param_1 = obj.ping(t); */ 새 요청값을 받았을 때 지금까지 받은 요청값을 리스트(지난 요청값들 포함)로 만든 다음, 3000의 차이가 나는지 확인하는 문제 * 출처 https://leetcode.com/pro

Naver Blog

JAVA_Range Sum of BST_LeetCode 938

JAVA_Range Sum of BST_LeetCode 938 풀이 class Solution { int sum = 0; public int rangeSumBST(TreeNode root, int low, int high) { if(root == null ) return 0; if(root.val >= low && root.val <= high) this.sum += root.val; if(root.val > low) rangeSumBST(root.left,low,high); if(root.val < high) rangeSumBST(root.right,low,high); return sum; } } * 출처 https://leetcode.com/problems/range-sum-of-bst/ Range Sum of BST - LeetCode Can you solve this real interview question? Range Sum of BST - Given the root no

Naver Blog

JAVA_Valid Mountain Array_LeetCode 941

JAVA_Valid Mountain Array_LeetCode 941 풀이 class Solution { public boolean validMountainArray(int[] arr) { if(arr.length < 3) return false; int i = 0, j = arr.length - 1; while(i + 1 < arr.length - 1 && arr[i] < arr[i + 1]) i++; while(j - 1 > 0 && arr[j] < arr[j - 1]) j--; return i == j; } } * 출처 https://leetcode.com/problems/valid-mountain-array/ Valid Mountain Array - LeetCode Can you solve this real interview question? Valid Mountain Array - Given an array of integers arr, return true if and o

Naver Blog

JAVA_DI String Match_LeetCode 942

JAVA_DI String Match_LeetCode 942 풀이 class Solution { public int[] diStringMatch(String s) { int n = s.length(), leftVal = 0, rightVal = n; int[] res = new int[n+1]; for (int i = 0; i < n; i++) res[i] = s.charAt(i) == 'I' ? leftVal++ : rightVal--; res[n] = leftVal; return res; } } * 출처 https://leetcode.com/problems/di-string-match/ DI String Match - LeetCode Can you solve this real interview question? DI String Match - A permutation perm of n + 1 integers of all the integers in the range [0, n]

Naver Blog

JAVA_Sort Array By Parity_LeetCode 905

JAVA_Sort Array By Parity_LeetCode 905 풀이 class Solution { public int[] sortArrayByParity(int[] nums) { int i = 0; for (int j = 0; j < nums.length; j++){ if (nums[j] % 2 == 0) { int temp = nums[i]; nums[i++] = nums[j]; nums[j] = temp;; } } return nums; } } * 출처 Sort Array By Parity - LeetCode Can you solve this real interview question? Sort Array By Parity - Given an integer array nums, move all the even integers at the beginning of the array followed by all the odd integers. Return any array th

Naver Blog

JAVA_Smallest Range I_LeetCode 908

JAVA_Smallest Range I_LeetCode 908 풀이 class Solution { public int smallestRangeI(int[] nums, int k) { int max=nums[0], min=nums[0]; for(int num :nums){ max = Math.max(max,num); min = Math.min(min,num); } min = (max - k) - (min + k); return min < 0 ? 0 : min; } } * 출처 https://leetcode.com/problems/smallest-range-i/ Smallest Range I - LeetCode Can you solve this real interview question? Smallest Range I - You are given an integer array nums and an integer k. In one operation, you can choose any in

Naver Blog

JAVA_X of a Kind in a Deck of Cards_LeetCode 914

JAVA_X of a Kind in a Deck of Cards_LeetCode 914 풀이 class Solution { public boolean hasGroupsSizeX(int[] deck) { Map<Integer, Integer> map = new HashMap<>(); int gcd = 0; for (int i : deck){ map.put(i, map.getOrDefault(i, 0) + 1); // System.out.println(map.get(i)); } for (int val : map.values()) gcd = gcd(gcd, val); return gcd > 1; } public int gcd(int a, int b) { return (b == 0) ? a : gcd(b, a % b); } } * 출처 https://leetcode.com/problems/valid-phone-numbers/ Valid Phone Numbers - LeetCode Can y

Naver Blog

JAVA_Reverse Only Letters_LeetCode 917

JAVA_Reverse Only Letters_LeetCode 917 풀이 class Solution { public String reverseOnlyLetters(String s) { StringBuilder sb = new StringBuilder(s.replaceAll("[^a-zA-Z]","")).reverse(); for(int i = 0;i <= s.length()-1; i++){ if(!Character.isLetter(s.charAt(i))) sb.insert(i,s.charAt(i)); } return String.valueOf(sb); } } * 출처 https://leetcode.com/problems/reverse-only-letters/ Reverse Only Letters - LeetCode Can you solve this real interview question? Reverse Only Letters - Given a string s, reverse t

Naver Blog

JAVA_Monotonic Array_LeetCode 896

JAVA_Monotonic Array_LeetCode 896 풀이 class Solution { public boolean isMonotonic(int[] nums) { boolean asc = false, desc = false; for(int i = 1; i < nums.length; i++){ if(nums[i] < nums[i-1]) desc = true; if(nums[i] > nums[i-1]) asc = true; } return asc && desc ? false: true; } } * 출처 Monotonic Array - LeetCode Can you solve this real interview question? Monotonic Array - An array is monotonic if it is either monotone increasing or monotone decreasing. An array nums is monotone increasing if for

Naver Blog

JAVA_Increasing Order Search Tree_LeetCode 897

JAVA_Increasing Order Search Tree_LeetCode 897 풀이 class Solution { TreeNode top; public TreeNode increasingBST(TreeNode root) { TreeNode res = new TreeNode(); top = res; inOrder(root); return res.right; } private void inOrder(TreeNode root){ if(root == null) return; inOrder(root.left); top.right = new TreeNode(root.val); top = top.right; inOrder(root.right); } } * 출처 Increasing Order Search Tree - LeetCode Can you solve this real interview question? Increasing Order Search Tree - Given the root

Naver Blog

JavaScript_유한소수 판별하기_school_programmers

JavaScript_유한소수 판별하기_school_programmers 풀이 function solution(numlist, n) { return numlist.sort((a,b) => (Math.abs(a - n) - Math.abs(b - n) || b - a)); } * 출처 코딩테스트 연습 - 유한소수 판별하기 소수점 아래 숫자가 계속되지 않고 유한개인 소수를 유한소수라고 합니다. 분수를 소수로 고칠 때 유한소수로 나타낼 수 있는 분수인지 판별하려고 합니다. 유한소수가 되기 위한 분수의 조건은 다음과 같습니다. 기약분수로 나타내었을 때, 분모의 소인수가 2와 5만 존재해야 합니다. 두 정수 a 와 b 가 매개변수로 주어질 때, a/b가 유한소수이면 1을, 무한소수라면 2를 return하도록 solution 함수를 완성해주세요. 제한사항 a , b 는 정수 0 < a ≤ 1,000 0 < b ≤ 1,000 입출력 예 a b result ... school.programmers.

Naver Blog

JAVA_Find the Index of the First Occurrence in a String_LeetCode 28

JAVA_Find the Index of the First Occurrence in a String_LeetCode 28 풀이 class Solution { public int strStr(String haystack, String needle) { return haystack.contains(needle) ? haystack.indexOf(needle) : -1; } } * 출처 Find the Index of the First Occurrence in a String - LeetCode Can you solve this real interview question? Find the Index of the First Occurrence in a String - Given two strings needle and haystack, return the index of the first occurrence of needle in haystack, or -1 if needle is not

Naver Blog

JavaScript_등수 매기기_school_programmers

JavaScript_등수 매기기_school_programmers 풀이 function solution(score) { let sorted = score.map(v => (v[0] + v[1]) / 2).sort((a,b) => b - a); return score.map(v => (v[0] + v[1])/2).map(v => sorted.indexOf(v) + 1); } * 출처 코딩테스트 연습 - 등수 매기기 영어 점수와 수학 점수의 평균 점수를 기준으로 학생들의 등수를 매기려고 합니다. 영어 점수와 수학 점수를 담은 2차원 정수 배열 score 가 주어질 때, 영어 점수와 수학 점수의 평균을 기준으로 매긴 등수를 담은 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 0 ≤ score [0], score [1] ≤ 100 1 ≤ score 의 길이 ≤ 10 score 의 원소 길이는 2입니다. score 는 중복된 원소를 갖지 않습니다. 입출력 예 scor

Naver Blog

JavaScript_특이한 정렬_school_programmers

JavaScript_특이한 정렬_school_programmers 풀이 function solution(numlist, n) { return numlist.sort((a,b) => (Math.abs(a - n) - Math.abs(b - n) || b - a)); } 포인트는 기준수로부터 차이값이 같을 경우 더 높은 수를 구해야하는 점(절대값 비교 후 실제값 비교 필요) * 출처 코딩테스트 연습 - 특이한 정렬 정수 n 을 기준으로 n 과 가까운 수부터 정렬하려고 합니다. 이때 n 으로부터의 거리가 같다면 더 큰 수를 앞에 오도록 배치합니다. 정수가 담긴 배열 numlist 와 정수 n 이 주어질 때 numlist 의 원소를 n 으로부터 가까운 순서대로 정렬한 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ n ≤ 10,000 1 ≤ numlist 의 원소 ≤ 10,000 1 ≤ numlist 의 길이 ≤ 100 numlist 는 중복된 원소를 갖지 않

Naver Blog

JavaScript_k의 개수_school_programmers

JavaScript_k의 개수_school_programmers 풀이 function solution(i, j, k) { let s = ""; for(let val = i; val <=j; val++){ s += val.toString(); } return s.split('').filter(val => Number(val) == k).length; } * 출처 코딩테스트 연습 - k의 개수 1부터 13까지의 수에서, 1은 1, 10, 11, 12, 13 이렇게 총 6번 등장합니다. 정수 i , j , k 가 매개변수로 주어질 때, i 부터 j 까지 k 가 몇 번 등장하는지 return 하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ i < j ≤ 100,000 0 ≤ k ≤ 9 입출력 예 i j k result 1 13 1 6 10 50 5 5 3 10 2 0 입출력 예 설명 입출력 예 #1 본문과 동일합니다. 입출력 예 #2 10부터 50까지 5는 15, 25, 35,

Naver Blog

JavaScript_이진수 더하기_school_programmers

JavaScript_이진수 더하기_school_programmers 풀이 function solution(bin1, bin2) { return (parseInt(bin1, 2) + parseInt(bin2, 2)).toString(2); } parseInt의 2진수 / toString()의 2진수 출력을 이용하여 푼 문제 * 출처 코딩테스트 연습 - 이진수 더하기 이진수를 의미하는 두 개의 문자열 bin1 과 bin2 가 매개변수로 주어질 때, 두 이진수의 합을 return하도록 solution 함수를 완성해주세요. 제한사항 return 값은 이진수를 의미하는 문자열입니다. 1 ≤ bin1 , bin2 의 길이 ≤ 10 bin1 과 bin2 는 0과 1로만 이루어져 있습니다. bin1 과 bin2 는 "0"을 제외하고 0으로 시작하지 않습니다. 입출력 예 bin1 bin2 result "10" "11" "101" "1001" "1111" "11000" 입출력 예 설명 입출력 예 #1

Naver Blog

JavaScript_치킨 쿠폰_school_programmers

JavaScript_치킨 쿠폰_school_programmers 풀이 function solution(chicken) { let val = 0; while(chicken >= 10){ val += Math.floor(chicken / 10); chicken = chicken % 10 + Math.floor(chicken / 10); } return val; } * 출처 코딩테스트 연습 - 치킨 쿠폰 프로그래머스 치킨은 치킨을 시켜먹으면 한 마리당 쿠폰을 한 장 발급합니다. 쿠폰을 열 장 모으면 치킨을 한 마리 서비스로 받을 수 있고, 서비스 치킨에도 쿠폰이 발급됩니다. 시켜먹은 치킨의 수 chicken 이 매개변수로 주어질 때 받을 수 있는 최대 서비스 치킨의 수를 return하도록 solution 함수를 완성해주세요. 제한사항 chicken 은 정수입니다. 0 ≤ chicken ≤ 1,000,000 입출력 예 chicken result 100 11 1,081 120 입출력 예 설명

Naver Blog

JavaScript_로그인 성공?_school_programmers

JavaScript_로그인 성공?_school_programmers 풀이 function solution(id_pw, db) { const arr = db.filter((val) => val[0] === id_pw[0]); return arr.length <= 0 ? "fail" : arr[0][1] === id_pw[1] ? "login" : "wrong pw"; } * 출처 코딩테스트 연습 - 로그인 성공? 아이디와 비밀번호가 모두 일치하는 회원정보가 있으면 "login"을 return합니다. 로그인이 실패했을 때 아이디가 일치하는 회원이 없다면 “fail”를, 아이디는 일치하지만 비밀번호가 일치하는 회원이 없다면 “wrong pw”를 return 합니다. 제한사항 회원들의 아이디는 문자열입니다. 회원들의 아이디는 알파벳 소문자와 숫자로만 이루어져 있습니다. 회원들의 패스워드는 숫자로 구성된 문자열입니다. 회원들의 비밀번호는 같을 수 있지만 아이디는 같을 수 없습니다. id_pw

Naver Blog

JavaScript_영어가 싫어요_school_programmers

JavaScript_영어가 싫어요_school_programmers 풀이 function solution(numbers) { let numArr = ["zero","one","two","three","four","five","six","seven","eight","nine"]; numArr.forEach((str, idx) => { numbers = numbers.replaceAll(str, idx); }); return Number(numbers); } * 출처 코딩테스트 연습 - 영어가 싫어요 영어가 싫은 머쓱이는 영어로 표기되어있는 숫자를 수로 바꾸려고 합니다. 문자열 numbers 가 매개변수로 주어질 때, numbers 를 정수로 바꿔 return 하도록 solution 함수를 완성해 주세요. 제한사항 numbers 는 소문자로만 구성되어 있습니다. numbers 는 "zero", "one", "two", "three", "four", "five", "six", "seven

Naver Blog

JavaScript_대문자와 소문자_school_programmers

JavaScript_대문자와 소문자_school_programmers 풀이 function solution(my_string) { return my_string.split("").map(v => (v === v.toUpperCase() ? v.toLowerCase() : v.toUpperCase())).join(''); } * 출처 코딩테스트 연습 - 대문자와 소문자 문자열 my_string 이 매개변수로 주어질 때, 대문자는 소문자로 소문자는 대문자로 변환한 문자열을 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ my_string 의 길이 ≤ 1,000 my_string 은 영어 대문자와 소문자로만 구성되어 있습니다. 입출력 예 my_string result "cccCCC" "CCCccc" "abCdEfghIJ" "ABcDeFGHij" 입출력 예 설명 입출력 예 #1 소문자는 대문자로 대문자는 소문자로 바꾼 "CCCccc"를 return합니다. 입출력 예

Naver Blog

JavaScript_암호 해독_school_programmers

JavaScript_암호 해독_school_programmers 풀이 function solution(cipher, code) { return cipher.split("").filter((idx,val) => (val + 1) % code === 0).join(''); } * 출처 코딩테스트 연습 - 암호 해독 군 전략가 머쓱이는 전쟁 중 적군이 다음과 같은 암호 체계를 사용한다는 것을 알아냈습니다. 암호화된 문자열 cipher 를 주고받습니다. 그 문자열에서 code 의 배수 번째 글자만 진짜 암호입니다. 문자열 cipher 와 정수 code 가 매개변수로 주어질 때 해독된 암호 문자열을 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ cipher 의 길이 ≤ 1,000 1 ≤ code ≤ cipher 의 길이 cipher 는 소문자와 공백으로만 구성되어 있습니다. 공백도 하나의 문자로 취급합니다. 입출력 예 ci... school.programmers.co

Naver Blog

JavaScript_369게임_school_programmers

JavaScript_369게임_school_programmers 풀이 function solution(order) { return [...order.toString().matchAll(/[3|6|9]/g)].length; } * 출처 코딩테스트 연습 - 369게임 머쓱이는 친구들과 369게임을 하고 있습니다. 369게임은 1부터 숫자를 하나씩 대며 3, 6, 9가 들어가는 숫자는 숫자 대신 3, 6, 9의 개수만큼 박수를 치는 게임입니다. 머쓱이가 말해야하는 숫자 order 가 매개변수로 주어질 때, 머쓱이가 쳐야할 박수 횟수를 return 하도록 solution 함수를 완성해보세요. 제한사항 1 ≤ order ≤ 1,000,000 입출력 예 order result 3 1 29423 2 입출력 예 설명 입출력 예 #1 3은 3이 1개 있으므로 1을 출력합니다. 입출력 예 #2 29423은 3... school.programmers.co.kr

Naver Blog

JavaScript_가까운 수_school_programmers

JavaScript_가까운 수_school_programmers 풀이 function solution(array, n) { return array.sort((a,b) => Math.abs(n - a) - Math.abs(n - b) || a - b)[0]; } * 출처 코딩테스트 연습 - 가까운 수 정수 배열 array 와 정수 n 이 매개변수로 주어질 때, array 에 들어있는 정수 중 n 과 가장 가까운 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ array 의 길이 ≤ 100 1 ≤ array 의 원소 ≤ 100 1 ≤ n ≤ 100 가장 가까운 수가 여러 개일 경우 더 작은 수를 return 합니다. 입출력 예 array n result [3, 10, 28] 20 28 [10, 11, 12] 13 12 입출력 예 설명 입출력 예 #1 3, 10, 28 중 20과 가장 가까운 수는 28... school.programmers.co.kr

Naver Blog

JavaScript_삼각형의 완성조건 (1)_school_programmers

JavaScript_삼각형의 완성조건 (1)_school_programmers 풀이 function solution(sides) { sides = sides.sort((a,b) => a-b); return sides[2] < sides[0] + sides[1] ? 1 : 2 ; } * 출처 코딩테스트 연습 - 삼각형의 완성조건 (1) 선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다. 가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다. 삼각형의 세 변의 길이가 담긴 배열 sides 이 매개변수로 주어집니다. 세 변으로 삼각형을 만들 수 있다면 1, 만들 수 없다면 2를 return하도록 solution 함수를 완성해주세요. 제한사항 sides 의 원소는 자연수입니다. sides 의 길이는 3입니다. 1 ≤ sides 의 원소 ≤ 1,000 입출력 예 sides result [1, 2, 3] 2 [3, 6, 2] 2 [199... school.p

Naver Blog

JavaScript_중복된 문자 제거_school_programmers

JavaScript_중복된 문자 제거_school_programmers 풀이 function solution(my_string) { return my_string.split('').filter((v, i) => my_string.split('').indexOf(v) === i).join('') ; } * 출처 코딩테스트 연습 - 중복된 문자 제거 문자열 my_string 이 매개변수로 주어집니다. my_string 에서 중복된 문자를 제거하고 하나의 문자만 남긴 문자열을 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ my_string ≤ 110 my_string 은 대문자, 소문자, 공백으로 구성되어 있습니다. 대문자와 소문자를 구분합니다. 공백(" ")도 하나의 문자로 구분합니다. 중복된 문자 중 가장 앞에 있는 문자를 남깁니다. 입출력 예 my_string result "people" "peol" "We are the world" "We arth... s

Naver Blog

JavaScript_가장 큰 수 찾기_school_programmers

JavaScript_가장 큰 수 찾기_school_programmers 풀이 function solution(array) { var arr = new Array(); array.forEach((value,idx) => { if(Math.max.apply(null,array) === value){ arr.push(value); arr.push(idx); return arr; } }); return arr; } * 출처 코딩테스트 연습 - 가장 큰 수 찾기 정수 배열 array 가 매개변수로 주어질 때, 가장 큰 수와 그 수의 인덱스를 담은 배열을 return 하도록 solution 함수를 완성해보세요. 제한사항 1 ≤ array의 길이 ≤ 100 0 ≤ array 원소 ≤ 1,000 array 에 중복된 숫자는 없습니다. 입출력 예 array result [1, 8, 3] [8, 1] [9, 10, 11, 8] [11, 2] 입출력 예 설명 입출력 예 #1 1, 8, 3 중 가장 큰

Naver Blog

JavaScript_편지_school_programmers

JavaScript_편지_school_programmers 풀이 function solution(message) { return message.length * 2; } * 출처 코딩테스트 연습 - 편지 머쓱이는 할머니께 생신 축하 편지를 쓰려고 합니다. 할머니가 보시기 편하도록 글자 한 자 한 자를 가로 2cm 크기로 적으려고 하며, 편지를 가로로만 적을 때, 축하 문구 message 를 적기 위해 필요한 편지지의 최소 가로길이를 return 하도록 solution 함수를 완성해주세요. 제한사항 공백도 하나의 문자로 취급합니다. 1 ≤ message의 길이 ≤ 50 편지지의 여백은 생각하지 않습니다. message 는 영문 알파벳 대소문자, ‘!’, ‘~’ 또는 공백으로만 이루어져 있습니다. 입출력 예 message result ... school.programmers.co.kr

Naver Blog

JavaScript_약수 구하기_school_programmers

JavaScript_약수 구하기_school_programmers 풀이 function solution(n) { let answer = []; for (let i = 1; i <= n; i++) { if(n % i === 0) answer.push(i); } return answer; } * 출처 코딩테스트 연습 - 약수 구하기 문제 설명 정수 n 이 매개변수로 주어질 때, n 의 약수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ n ≤ 10,000 입출력 예 n result 24 [1, 2, 3, 4, 6, 8, 12, 24] 29 [1, 29] 입출력 예 설명 입출력 예 #1 24의 약수를 오름차순으로 담은 배열 [1, 2, 3, 4, 6, 8, 12, 24]를 return합니다. 입출력 예 #2 29의 약수를 오름차순으로 담은 배열 [1, 29]를 return합니다. school.programmers.co.kr

Naver Blog

JavaScript_한 번만 등장한 문자_school_programmers

JavaScript_한 번만 등장한 문자_school_programmers 풀이 function solution(s) { let arr = []; s.split("").forEach(str => {if(s.indexOf(str) === s.lastIndexOf(str)) arr.push(str)}); return arr.sort().join(''); } * 출처 코딩테스트 연습 - 한 번만 등장한 문자 문자열 s 가 매개변수로 주어집니다. s 에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. 한 번만 등장하는 문자가 없을 경우 빈 문자열을 return 합니다. 제한사항 0 < s 의 길이 < 1,000 s 는 소문자로만 이루어져 있습니다. 입출력 예 s result "abcabcadc" "d" "abdc" "abcd" "hello" "eho" 입출력 예 설명 입출력 예 #1 "abcabcadc"에서 하나만 등장하는 문

Naver Blog

JavaScript_인덱스 바꾸기_school_programmers

JavaScript_인덱스 바꾸기_school_programmers 풀이 function solution(my_string, num1, num2) { let str = my_string.split("") my_string.split("").filter((char,idx) => { if(idx == num1) str.splice(num2,1,char); else if(idx == num2) str.splice(num1,1,char); }); return str.join(''); } * 출처 코딩테스트 연습 - 인덱스 바꾸기 문자열 my_string 과 정수 num1 , num2 가 매개변수로 주어질 때, my_string 에서 인덱스 num1 과 인덱스 num2 에 해당하는 문자를 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요. 제한사항 1 < my_string 의 길이 < 100 0 ≤ num1 , num2 < my_string 의 길이 my_string 은

Naver Blog

JavaScript_A로 B 만들기_school_programmers

JavaScript_A로 B 만들기_school_programmers 풀이 function solution(before, after) { return [...before].reverse().sort().join('') === [...after].sort().join('') ? 1 : 0; } * 출처 코딩테스트 연습 - A로 B 만들기 문자열 before 와 after 가 매개변수로 주어질 때, before 의 순서를 바꾸어 after 를 만들 수 있으면 1을, 만들 수 없으면 0을 return 하도록 solution 함수를 완성해보세요. 제한사항 0 < before 의 길이 == after 의 길이 < 1,000 before 와 after 는 모두 소문자로 이루어져 있습니다. 입출력 예 before after result "olleh" "hello" 1 "allpe" "apple" 0 입출력 예 설명 입출력 예 #1 "olleh"의 순서를 바꾸면 "hello"를... school.

Naver Blog

JavaScript_문자열 계산하기_school_programmers

JavaScript_문자열 계산하기_school_programmers 풀이 function solution(my_string) { return eval(my_string); } eval함수를 사용하여 푼문제 사실 eval은 사용방법으로 추천하지 않는다. 보안상 문제가 될 수 있기 때문에 추천하고 싶지 않음 * 출처 코딩테스트 연습 - 문자열 계산하기 제한사항 연산자는 +, -만 존재합니다. 문자열의 시작과 끝에는 공백이 없습니다. 0으로 시작하는 숫자는 주어지지 않습니다. 잘못된 수식은 주어지지 않습니다. 5 ≤ my_string 의 길이 ≤ 100 my_string 을 계산한 결과값은 1 이상 100,000 이하입니다. my_string 의 중간 계산 값은 -100,000 이상 100,000 이하입니다. 계산에 사용하는 숫자는 1 이상 20,000 이하인 자연수입니다. my_string 에는 연산자가 적어도 하나 포함되어 있습니다. return type 은 정수형입니다. my...

Naver Blog

JavaScript_숫자 찾기_school_programmers

JavaScript_숫자 찾기_school_programmers 풀이 function solution(num, k) { return String(num).split('').indexOf(String(k)) != -1 ? String(num).split('').indexOf(String(k)) + 1 : -1 } * 출처 코딩테스트 연습 - 숫자 찾기 정수 num 과 k 가 매개변수로 주어질 때, num 을 이루는 숫자 중에 k 가 있으면 num 의 그 숫자가 있는 자리 수를 return하고 없으면 -1을 return 하도록 solution 함수를 완성해보세요. 제한사항 0 < num < 1,000,000 0 ≤ k < 10 num 에 k 가 여러 개 있으면 가장 처음 나타나는 자리를 return 합니다. 입출력 예 num k result 29183 1 3 232443 4 4 123456 7 -1 입출력 예 설명 입출력 예 #1 29183에서 1은 3번째에 있습니다. 입출력 예...

Naver Blog

JavaScript_배열의 유사도_school_programmers

JavaScript_배열의 유사도_school_programmers 풀이 function solution(s1, s2) { return s1.filter(x => s2.includes(x)).length; } * 출처 코딩테스트 연습 - 배열의 유사도 두 배열이 얼마나 유사한지 확인해보려고 합니다. 문자열 배열 s1 과 s2 가 주어질 때 같은 원소의 개수를 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ s1 , s2 의 길이 ≤ 100 1 ≤ s1 , s2 의 원소의 길이 ≤ 10 s1 과 s2 의 원소는 알파벳 소문자로만 이루어져 있습니다 s1 과 s2 는 각각 중복된 원소를 갖지 않습니다. 입출력 예 s1 s2 result ["a", "b", "c"] ["com", "b", "d", "p", "c"] 2 ["n", "omg"] ["m", "dot"]... school.programmers.co.kr

Naver Blog

JAVA_Rectangle Overlap_LeetCode 836

JAVA_Rectangle Overlap_LeetCode 836 풀이 class Solution { public boolean isRectangleOverlap(int[] rec1, int[] rec2) { return (rec1[0] < rec2[2] && rec1[1] < rec2[3] && rec1[2] > rec2[0] && rec1[3] > rec2[1]); } } 사각형 겹침 조건 rec1(x2, y2) > rec2(x1, y1) rec1(x1, y1) < rec2(x2, y2) * 출처 Rectangle Overlap - LeetCode Can you solve this real interview question? Rectangle Overlap - An axis-aligned rectangle is represented as a list [x1, y1, x2, y2], where (x1, y1) is the coordinate of its bottom-left corn

Naver Blog

JAVA_Backspace String Compare_LeetCode 844

JAVA_Backspace String Compare_LeetCode 844 풀이 class Solution { public boolean backspaceCompare(String S, String T) { return stackSolution(S).equals(stackSolution(T)); } private String stackSolution(String str) { Stack<Character> stack = new Stack<Character>(); for (char c : str.toCharArray()) { if (c != '#') stack.push(c); else if (!stack.isEmpty()) stack.pop(); } return stack.toString(); } } * 출처 Backspace String Compare - LeetCode Can you solve this real interview question? Backspace String Co

Naver Blog

JAVA_Buddy Strings_LeetCode 859

JAVA_Buddy Strings_LeetCode 859 풀이 class Solution { public boolean buddyStrings(String s, String goal) { if (s.length() != goal.length()) return false; if (s.equals(goal)) { Set<Character> set = new HashSet<Character>(); for (char c : s.toCharArray()) set.add(c); return set.size() < s.length(); } List<Integer> list = new ArrayList<>(); for (int i = 0; i < s.length(); ++i) { if (s.charAt(i) != goal.charAt(i)) list.add(i); } return list.size() == 2 && s.charAt(list.get(0)) == goal.charAt(list.get(

Naver Blog

JAVA_Lemonade Change_LeetCode 860

JAVA_Lemonade Change_LeetCode 860 풀이 class Solution { public boolean lemonadeChange(int[] bills) { int five = 0, ten = 0; for (int i : bills) { if (i == 5) five++; else if (i == 10) {five--; ten++;} else if (ten > 0) {ten--; five--;} else five -= 3; if (five < 0) return false; } return true; } } * 출처 Lemonade Change - LeetCode Can you solve this real interview question? Lemonade Change - At a lemonade stand, each lemonade costs $5. Customers are standing in a queue to buy from you and order one

Naver Blog

JAVA_Transpose Matrix_LeetCode 867

JAVA_Transpose Matrix_LeetCode 867 풀이 class Solution { public int[][] transpose(int[][] matrix) { int[][] res = new int[matrix[0].length][matrix.length]; for (int i = 0; i < matrix[0].length; i++) { for (int j = 0; j < matrix.length; j++) { res[i][j] = matrix[j][i]; } } return res; } } * 출처 Transpose Matrix - LeetCode Can you solve this real interview question? Transpose Matrix - Given a 2D integer array matrix, return the transpose of matrix. The transpose of a matrix is the matrix flipped over

Naver Blog

JAVA_Binary Gap_LeetCode 868

JAVA_Binary Gap_LeetCode 868 풀이 class Solution { public int binaryGap(int n) { int res = 0, cnt = -32; while(n > 0){ if(n % 2 == 1){ res = Math.max(res,cnt); cnt = 0; } cnt++; n = n / 2; } return res; } } * 출처 Binary Gap - LeetCode Can you solve this real interview question? Binary Gap - Given a positive integer n, find and return the longest distance between any two adjacent 1's in the binary representation of n. If there are no two adjacent 1's, return 0. Two 1's are adjacent if there are only

Naver Blog

JAVA_Rotate String_LeetCode 796

JAVA_Rotate String_LeetCode 796 풀이 class Solution { public boolean rotateString(String s, String goal) { return s.length() == goal.length() && (s + s).contains(goal); } } * 출처 Rotate String - LeetCode Can you solve this real interview question? Rotate String - Given two strings s and goal, return true if and only if s can become goal after some number of shifts on s. A shift on s consists of moving the leftmost character of s to the rightmost position. * For example, if s = "abcde", then it will

Naver Blog

JAVA_Unique Morse Code Words_LeetCode 804

JAVA_Unique Morse Code Words_LeetCode 804 풀이 class Solution { public int uniqueMorseRepresentations(String[] words) { String[] str = new String[]{".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."}; Set<String> set = new HashSet<>(); for (String word : words) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < word.length();i++) { sb.append(str[word.charAt(i) - 'a']); } set.add(

Naver Blog

JAVA_Number of Lines To Write String_LeetCode 806

JAVA_Number of Lines To Write String_LeetCode 806 풀이 class Solution { public int[] numberOfLines(int[] widths, String s) { int res = 1, pixel = 0; for (char c : s.toCharArray()) { int width = widths[c - 'a']; res = pixel + width > 100 ? res + 1 : res; pixel = pixel + width > 100 ? width : pixel + width; } return new int[] {res, pixel}; } } width의 값들은 각 알파벳의 너비값을 의미, pixel은 최대 100까지 됨 예제2에서 알 수 있듯이 a는 4를 의미하는데, bbbcccddd까지 90pixel, aa 까지 하면 98pixel이므로, 다시 시작하도록 함 * 출처 Number of Lines To Write Str

Naver Blog

JAVA_Largest Triangle Area_LeetCode 812

JAVA_Largest Triangle Area_LeetCode 812 풀이 class Solution { public double largestTriangleArea(int[][] points) { double res = 0; for (int[] i : points){ for (int[] j : points){ for (int[] k : points){ res = Math.max(res, 0.5 * Math.abs(i[0] * j[1] + j[0] * k[1] + k[0] * i[1] - j[0] * i[1] - k[0] * j[1] - i[0] * k[1])); } } } return res; } } 3점 삼각형 넓이 공식을 사용한 문제이다. * 출처 Largest Triangle Area - LeetCode Can you solve this real interview question? Largest Triangle Area - Given an array of points on

Naver Blog

JAVA_Most Common Word_LeetCode 819

JAVA_Most Common Word_LeetCode 819 풀이 class Solution { public String mostCommonWord(String paragraph, String[] banned) { HashMap<String, Integer> wordToCount = new HashMap<String, Integer>(); int max = 0, cnt = 0; String res = ""; HashSet<String> hashSet = new HashSet<String>(); Collections.addAll(hashSet, banned); for (String word : paragraph.toLowerCase().split("[!?;.,' ]")) { if (word.isEmpty() || hashSet.contains(word)) continue; cnt = wordToCount.compute(word, (k, v) -> (v == null) ? 1 : ++

Naver Blog

JAVA_Shortest Distance to a Character_LeetCode 821

JAVA_Shortest Distance to a Character_LeetCode 821 풀이 class Solution { public int[] shortestToChar(String s, char c) { int[] res = new int[s.length()]; for (int i = 0, j = 0; i < res.length; i++) { if (i == 0) j = s.indexOf(c); if (i > j && s.indexOf(c, i) >= 0 && Math.abs(j - i) > Math.abs(s.indexOf(c, i) - i)) { j = s.indexOf(c, i); } res[i] = Math.abs(j - i); } return res; } } * 출처 Shortest Distance to a Character - LeetCode Can you solve this real interview question? Shortest Distance to a C

Naver Blog

JAVA_Goat Latin_LeetCode 824

JAVA_Goat Latin_LeetCode 824 풀이 class Solution { public String toGoatLatin(String sentence) { String[] words = sentence.split("\\s+"); StringBuilder res =new StringBuilder(""); StringBuilder sb = new StringBuilder(""); for(int i = 0;i < words.length;i++){ if(!"aeiouAEIOU".contains(words[i].charAt(0) + "")) res.append(words[i].substring(1)).append(words[i].charAt(0)).append("maa").append(sb+" "); else res.append(words[i]).append("maa").append(sb+" "); sb.append("a"); } return res.toString().trim(

Naver Blog

JAVA_Positions of Large Groups_LeetCode 830

JAVA_Positions of Large Groups_LeetCode 830 풀이 class Solution { public List<List<Integer>> largeGroupPositions(String s) { List<List<Integer>> res = new ArrayList<>(); int start = 0, n = s.length(); for(int i = 1;i <= n;i++){ if((i == n) || !(s.charAt(i) == s.charAt(i-1))){ if((i - start >= 3)) res.add(List.of(start,(i - 1))); start = i; } } return res; } } * 출처 Positions of Large Groups - LeetCode Can you solve this real interview question? Positions of Large Groups - In a string s of lowercase

Naver Blog

JAVA_Flipping an Image_LeetCode 832

JAVA_Flipping an Image_LeetCode 832 풀이 class Solution { public int[][] flipAndInvertImage(int[][] image) { if (image == null || image.length == 0 || image[0].length == 0) return image; for (int[] reverse : image) { int start = 0; int end = reverse.length - 1; while (start <= end) { if (reverse[start] == reverse[end]) { reverse[start] ^= 1; reverse[end] = reverse[start]; } start++; end--; } } return image; } } * 출처 Flipping an Image - LeetCode Can you solve this real interview question? Flipping

Naver Blog

JAVA_Self Dividing Numbers_LeetCode 728

JAVA_Self Dividing Numbers_LeetCode 728 풀이 class Solution { public List<Integer> selfDividingNumbers(int left, int right) { List<Integer>res=new ArrayList(); for(int i=left;i<=right;i++) if(div(i)) res.add(i); return res; } public boolean div(int num){ int n=num; while(n > 0){ int rem = n % 10; if(rem == 0 || (num % rem) != 0) return false; n = n / 10; } return true; } } * 출처 Self Dividing Numbers - LeetCode Self Dividing Numbers - A self-dividing number is a number that is divisible by every di

Naver Blog

JAVA_Flood Fill_LeetCode 733

JAVA_Flood Fill_LeetCode 733 풀이 class Solution { public int[][] floodFill(int[][] image, int sr, int sc, int color) { if (image[sr][sc] != color) dfs(image, sr, sc, image[sr][sc], color); return image; } private void dfs(int[][] image, int i, int j, int color1, int color2) { if (i < 0 || j < 0 || i >= image.length || j >= image[0].length || image[i][j] != color1) return; image[i][j] = color2; dfs(image, i, j - 1, color1, color2); dfs(image, i, j + 1, color1, color2); dfs(image, i - 1, j, color1,

Naver Blog

JAVA_Find Smallest Letter Greater Than Target_LeetCode 744

JAVA_Find Smallest Letter Greater Than Target_LeetCode 744 풀이 class Solution { public char nextGreatestLetter(char[] letters, char target) { for(int i = 0; i < letters.length; i++) if(letters[i] > target) return letters[i]; return letters[0]; } } * 출처 Find Smallest Letter Greater Than Target - LeetCode Find Smallest Letter Greater Than Target - You are given an array of characters letters that is sorted in non-decreasing order, and a character target. There are at least two different characters

Naver Blog

JAVA_Min Cost Climbing Stairs_LeetCode 746

JAVA_Min Cost Climbing Stairs_LeetCode 746 풀이 class Solution { public int minCostClimbingStairs(int[] cost) { for (int i = 2; i < cost.length; i ++) cost[i] += Math.min(cost[i - 1], cost[i - 2]); return Math.min(cost[cost.length - 1], cost[cost.length - 2]); } } * 출처 Min Cost Climbing Stairs - LeetCode Can you solve this real interview question? Min Cost Climbing Stairs - You are given an integer array cost where cost[i] is the cost of ith step on a staircase. Once you pay the cost, you can eith

Naver Blog

JAVA_Largest Number At Least Twice of Others_LeetCode 747

JAVA_Largest Number At Least Twice of Others_LeetCode 747 풀이 class Solution { public int dominantIndex(int[] nums) { if (nums.length == 1) return 0; int max = 0, num = 0, index = 0; for (int i = 0; i < nums.length; i++) { if (max < nums[i]) { num = max; max = nums[i]; index = i; } else if (num < nums[i]) num = nums[i]; } return max >= 2 * num ? index : -1; } } * 출처 Largest Number At Least Twice of Others - LeetCode Largest Number At Least Twice of Others - You are given an integer array nums whe

Naver Blog

JAVA_Shortest Completing Word_LeetCode 748

JAVA_Shortest Completing Word_LeetCode 748 풀이 class Solution { public String shortestCompletingWord(String licensePlate, String[] words) { Map<Character, Integer> map = new HashMap(); String licensePlate2= licensePlate.toLowerCase(); int len = Integer.MAX_VALUE; String str = ""; for(int i=0;i<licensePlate2.length();i++){ char ch = licensePlate2.charAt(i); if(Character.isLetter(ch)) map.put(ch, map.getOrDefault(ch,0) + 1); } for(int i=0;i<words.length;i++){ if(words[i].length() >= len) continue;

Naver Blog

JAVA_Prime Number of Set Bits in Binary Representation_LeetCode 762

JAVA_Prime Number of Set Bits in Binary Representation_LeetCode 762 풀이 class Solution { public int countPrimeSetBits(int left, int right) { int count = 0; for (int i = left; i <= right; i++) if (isPrime(getCnt(i))) count++; return count; } static int getCnt(int n) { int count = 0; while (n > 0) { count++; n -= n & (-n); } return count; } static boolean isPrime(int n) { if (n <= 1) return false; int c = 2; while (c * c <= n) { if (n % c == 0) return false; c++; } return true; } } * 출처 Prime Numbe

Naver Blog

JAVA_Toeplitz Matrix_LeetCode 766

JAVA_Toeplitz Matrix_LeetCode 766 풀이 class Solution { public boolean isToeplitzMatrix(int[][] matrix) { if(matrix.length == 1 && matrix[0].length == 1) return true; for(int i = 1;i < matrix.length;i++) for(int j = 1;j < matrix[i].length;j++) if(matrix[i][j] != matrix[i-1][j-1]) return false; return true; } } * 출처 Toeplitz Matrix - LeetCode Can you solve this real interview question? Toeplitz Matrix - Given an m x n matrix, return true if the matrix is Toeplitz. Otherwise, return false. A matrix

Naver Blog

JAVA_Jewels and Stones_LeetCode 771

JAVA_Jewels and Stones_LeetCode 771 풀이 class Solution { public int numJewelsInStones(String jewels, String stones) { return stones.replaceAll("[^" + jewels + "]", "").length(); } } * 출처 Jewels and Stones - LeetCode Can you solve this real interview question? Jewels and Stones - You're given strings jewels representing the types of stones that are jewels, and stones representing the stones you have. Each character in stones is a type of stone you have. You want to know how many of the stones you

Naver Blog

JAVA_Minimum Distance Between BST Nodes_LeetCode 783

JAVA_Minimum Distance Between BST Nodes_LeetCode 783 풀이 class Solution { int min=Integer.MAX_VALUE; public int minDiffInBST(TreeNode root) { List<Integer> list= new ArrayList<>(); orderTree(root, list); for(int i = 0;i < list.size()-1;i++) min= Math.min(min, list.get(i+1)-list.get(i)); return min; } public void orderTree(TreeNode root, List<Integer> list){ if(root == null) return; orderTree(root.left, list); list.add(root.val); orderTree(root.right, list); } } * 출처 Minimum Distance Between BST N

Naver Blog

JAVA_Search in a Binary Search Tree_LeetCode 700

JAVA_Search in a Binary Search Tree_LeetCode 700 풀이 class Solution { public TreeNode searchBST(TreeNode root, int val) { while(root != null && root.val != val) { root = (val > root.val) ? root.right : root.left; } return root; } } * 출처 Search in a Binary Search Tree - LeetCode Search in a Binary Search Tree - You are given the root of a binary search tree (BST) and an integer val. Find the node in the BST that the node's value equals val and return the subtree rooted with that node. If such a no

Naver Blog

JAVA_Binary Search_LeetCode 704

JAVA_Binary Search_LeetCode 704 풀이 class Solution { public int search(int[] nums, int target) { int num = 0; int end = nums.length-1; while(num <= end){ int mid = num + (end-num) / 2; if(nums[mid]==target){ return mid; }else if(nums[mid] > target){ end = mid - 1; }else{ num = mid + 1; } } return -1; } } * 출처 Binary Search - LeetCode Binary Search - Given an array of integers nums which is sorted in ascending order, and an integer target, write a function to search target in nums. If target exist

Naver Blog

JAVA_Kth Largest Element in a Stream_LeetCode 703

JAVA_Kth Largest Element in a Stream_LeetCode 703 풀이 class KthLargest { PriorityQueue<Integer> pq= new PriorityQueue<>(); int k; public KthLargest(int k, int[] nums) { for( int a: nums){ pq.add(a); } this.k=k; } public int add(int val) { pq.add(val); while(pq.size() > k){ pq.remove(); } return pq.peek(); } } * 출처 Kth Largest Element in a Stream - LeetCode Kth Largest Element in a Stream - Design a class to find the kth largest element in a stream. Note that it is the kth largest element in the s

Naver Blog

JAVA_Design HashSet_LeetCode 705

JAVA_Design HashSet_LeetCode 705 풀이 class MyHashSet { boolean[] setArray; public MyHashSet() { setArray = new boolean[1000000 + 1]; } public void add(int key) { setArray[key] = true; } public void remove(int key) { setArray[key] = false; } public boolean contains(int key) { return setArray[key]; } } - hashset에 맞춰서 데이터를 세팅 할 때 논리 값을 출력 하는 문제 * 출처 Design HashSet - LeetCode Design HashSet - Design a HashSet without using any built-in hash table libraries. Implement MyHashSet class: * void add(key)

Naver Blog

JAVA_Design HashMap_LeetCode 706

JAVA_Design HashMap_LeetCode 706 풀이 class MyHashMap { int[] map = new int[1000001]; public MyHashMap() { Arrays.fill(data, -1); } public void put(int key, int val) { map[key] = val; } public int get(int key) { return map[key]; } public void remove(int key) { map[key] = -1; } } - hashmap에 맞춰서 데이터를 세팅 할 때 논리 값을 출력 하는 문제 * 출처 Design HashMap - LeetCode Design HashMap - Design a HashMap without using any built-in hash table libraries. Implement the MyHashMap class: * MyHashMap() initializes the objec

Naver Blog

JAVA_Design HashMap_LeetCode 706

JAVA_Design HashMap_LeetCode 706 풀이 class MyHashMap { int[] map; public MyHashMap() { map = new int[1000000+1]; } public void put(int key, int value) { map[key] = value + 1; } public int get(int key) { return map[key] - 1; } public void remove(int key) { map[key] = 0; } } * 출처 Design HashMap - LeetCode Design HashMap - Design a HashMap without using any built-in hash table libraries. Implement the MyHashMap class: * MyHashMap() initializes the object with an empty map. * void put(int key, int va

Naver Blog

JAVA_To Lower Case_LeetCode 709

JAVA_To Lower Case_LeetCode 709 풀이 class Solution { public String toLowerCase(String s) { return s.toLowerCase(); } } * 출처 To Lower Case - LeetCode To Lower Case - Given a string s, return the string after replacing every uppercase letter with the same lowercase letter. Example 1: Input: s = "Hello" Output: "hello" Example 2: Input: s = "here" Output: "here" Example 3: Input: s = "LOVELY" Output: "lovely" Constraints: * 1 <= s.length <= 100... leetcode.com

Naver Blog

JAVA_1-bit and 2-bit Characters_LeetCode 717

JAVA_1-bit and 2-bit Characters_LeetCode 717 풀이 class Solution { public boolean isOneBitCharacter(int[] bits) { int i = 0; while (i < bits.length - 1) { i = (bits[i] == 1) ? i + 2 : i + 1; } return i == bits.length - 1; } } * 출처 1-bit and 2-bit Characters - LeetCode 1-bit and 2-bit Characters - We have two special characters: * The first character can be represented by one bit 0. * The second character can be represented by two bits (10 or 11). Given a binary array bits that ends with 0, return

1 2 3 4 5 6 7 8 9 10