joonbread의 등록된 링크

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

Naver Blog

Python HackerRank 문제 28 - Introduction to Sets

Python HackerRank 문제 28 - Introduction to Sets Introduction to Sets 풀이 def average(array): return float ( sum ( set ( array )) / len ( set ( array ))) if __name__ == '__main__': n = int(input()) arr = list(map(int, input().split())) result = average(arr) print(result) * 출처 Introduction to Sets | HackerRank Use the set tool to compute the average. www.hackerrank.com

Naver Blog

Python HackerRank 문제 29 - DefaultDict Tutorial

Python HackerRank 문제 29 - DefaultDict Tutorial DefaultDict Tutorial 풀이 from collections import defaultdict n, m = map(int, input().split()) d = defaultdict(list) for i in range(1,n+1): d[input()].append(i) for i in range(m): print(*d.get(input(),[-1])) * 출처 DefaultDict Tutorial | HackerRank Create dictionary value fields with predefined data types. www.hackerrank.com

Naver Blog

Python HackerRank 문제 30 - Calendar Module

Python HackerRank 문제 30 - Calendar Module Calendar Module 풀이 import datetime print(datetime.datetime.strptime(input(), '%m %d %Y').strftime('%A').upper()) * 출처 Calendar Module | HackerRank Print the day of a given date. www.hackerrank.com

Naver Blog

Python HackerRank 문제 31 - Exceptions

Python HackerRank 문제 31 - Exceptions Exceptions 풀이 for T in range(int(input())): try: a,b = map(int,input().split()) res = a // b print(res) except ZeroDivisionError as e: print("Error Code:", e) except ValueError as e: print("Error Code:", e) * 출처 Exceptions | HackerRank Handle errors detected during execution. www.hackerrank.com

Naver Blog

Python HackerRank 문제 32 - Collections.namedtuple()

Python HackerRank 문제 32 - Collections.namedtuple() Collections.namedtuple() 풀이 n = int(input()) mark = input().split().index('MARKS') print('{:.2f}'.format(sum([ int(input().split()[mark]) for x in range(n) ]) / n)) * 출처 Collections.namedtuple() | HackerRank You need to turn tuples into convenient containers using collections.namedtuple(). www.hackerrank.com

Naver Blog

JavaScript_연습문제_약수의 합_school_programmers

JavaScript_연습문제_약수의 합_school_programmers 풀이 function solution(n) { // 배열 생성, 약수 구한 다음 모두 더하기 return Array.from({length:n} ,(_,i) => 1 + i).filter(v => n % v == 0).reduce((a,b) => a+= b,0); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/12928 코딩테스트 연습 - 약수의 합 문제 설명 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n 은 0 이상 3000이하인 정수입니다. 입출력 예 n return 12 28 5 6 입출력 예 설명 입출력 예 #1 12의 약수는 1, 2, 3, 4, 6, 12입니다. 이를 모두 더하면 28입니다. 입출력 예 #2 5의 약수는 1, 5입니다. 이를 모두 더하면 6입니다. so

Naver Blog

JavaScript_연습문제_자릿수 더하기_school_programmers

JavaScript_연습문제_자릿수 더하기_school_programmers 풀이 function solution(n){ // split으로 나눈 뒤 해당 값들 모두 더하기 return (n + "").split("").reduce((a,b) => a += Number(b),0); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/12931 코딩테스트 연습 - 자릿수 더하기 문제 설명 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 입출력 예 N answer 123 6 987 24 입출력 예 설명 입출력 예 #1 문제의 예시와 같습니다. 입출력 예 #2 9 + 8 + 7 = 24이므로 24를 return 하면 됩니다.

Naver Blog

JavaScript_연습문제_자연수 뒤집어 배열로 만들기_school_programmers

JavaScript_연습문제_자연수 뒤집어 배열로 만들기_school_programmers 풀이 function solution(n) { // 나누고 뒤집고 숫자화하기 return (n + "").split("").reverse().map(v => Number(v)); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/12932 코딩테스트 연습 - 자연수 뒤집어 배열로 만들기 문제 설명 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 입출력 예 n return 12345 [5,4,3,2,1] school.programmers.co.kr

Naver Blog

JavaScript_연습문제_문자열을 정수로 바꾸기_school_programmers

JavaScript__school_programmers 풀이 function solution(s) { // Number를 이용한 풀이 return Number(s); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/12925 코딩테스트 연습 - 문자열을 정수로 바꾸기 문제 설명 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. 제한 조건 s의 길이는 1 이상 5이하입니다. s의 맨앞에는 부호(+, -)가 올 수 있습니다. s는 부호와 숫자로만 이루어져있습니다. s는 "0"으로 시작하지 않습니다. 입출력 예 예를들어 str이 "1234"이면 1234를 반환하고, "-1234"이면 -1234를 반환하면 됩니다. str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없습니다. solution.c 실행 결과 실행 결과가 여기에 표시됩니다. school.programme

Naver Blog

JavaScript_연습문제_문자열 내 p와 y의 개수_school_programmers

JavaScript_연습문제_문자열 내 p와 y의 개수_school_programmers 풀이 function solution(s){ // 모든 문자를 대문자로 변환 후 길이 비교하기 s = [...s.toUpperCase()]; return s.filter(v => v == "P").length == s.filter(v => v == "Y").length; } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/12916 코딩테스트 연습 - 문자열 내 p와 y의 개수 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다. 예를 들어 s가 "pPoooyY"면 true를

Naver Blog

JavaScript_연습문제_정수 제곱근 판별_school_programmers

JavaScript_연습문제_정수 제곱근 판별_school_programmers 풀이 function solution(n) { // 제곱근을 판별하는 함수와 제곱 함수를 사용한 풀이법 return Math.sqrt(n) % 1 == 0 ? Math.pow(Math.sqrt(n)+1,2) : -1 ; } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/12934 코딩테스트 연습 - 정수 제곱근 판별 문제 설명 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. 제한 사항 n은 1이상, 50000000000000 이하인 양의 정수입니다. 입출력 예 n return 121 144 3 -1 입출력 예 설명 입출력 예#1 121은 양의 정수 11의 제곱이므로,

Naver Blog

Python HackerRank 문제 33 - Collections.OrderedDict()

Python HackerRank 문제 33 - Collections.OrderedDict() Collections.OrderedDict() 풀이 from collections import OrderedDict order = OrderedDict() cnt = int(input()) for _ in range (cnt): item, space, price = input().rpartition(' ') if item in order.keys(): order[item] += int(price) else: order[item] = int(price) for i,j in order.items(): print(i , j) * 출처 Collections.OrderedDict() | HackerRank Print a dictionary of items that retains its order. www.hackerrank.com

Naver Blog

Python HackerRank 문제 34 - Polar Coordinates

Python HackerRank 문제 34 - Polar Coordinates Polar Coordinates 풀이 import cmath num = complex(input()) print(abs(num)) print(cmath.phase(num)) * 출처 Polar Coordinates | HackerRank Convert complex numbers to polar coordinates www.hackerrank.com

Naver Blog

Python HackerRank 문제 35 - Symmetric Difference

Python HackerRank 문제 35 - Symmetric Difference Symmetric Difference 풀이 a_size = int(input()) a = set(map(int, input().split())) b_size = int(input()) b = set(map(int, input().split())) c = a.difference(b) d = b.difference(a) c.update(d) print("\n".join(map(str, sorted(c)))) * 출처 Symmetric Difference | HackerRank Learn about sets as a data type. www.hackerrank.com

Naver Blog

Python HackerRank 문제 36 - itertools.combinations()

Python HackerRank 문제 36 - itertools.combinations() itertools.combinations() 풀이 from itertools import combinations S, k = input().split() S = sorted(S) k = int(k) for i in range(1,k+1): for j in combinations(S,i): print(''.join(j)) * 출처 itertools.combinations() | HackerRank Print all the combinations of a string using itertools. www.hackerrank.com

Naver Blog

Python HackerRank 문제 37 - Incorrect Regex

Python HackerRank 문제 37 - Incorrect Regex Incorrect Regex 풀이 import re for i in range(int(input())): try: re.compile(input()) print(True) except re.error: print(False) * 출처 Incorrect Regex | HackerRank Check whether the regex is valid or not. www.hackerrank.com

Naver Blog

Python HackerRank 문제 38 - Set .add()

Python HackerRank 문제 38 - Set .add() Set .add() 풀이 N = int(input()) stamps = set(input() for _ in range(N)) print(len(stamps)) * 출처 Set .add() | HackerRank Add elements to set. www.hackerrank.com

Naver Blog

Python HackerRank 문제 39 - itertools.combinations_with_replacement()

Python HackerRank 문제 39 - itertools.combinations_with_replacement() itertools.combinations_with_replacement()풀이 from itertools import combinations_with_replacement s, k = input().split() S, N = sorted(s), int(k) [print(''.join(_)) for _ in combinations_with_replacement(S,N)] * 출처 itertools.combinations_with_replacement() | HackerRank Find all the combinations of a string with replacements. www.hackerrank.com

Naver Blog

Python HackerRank 문제 40 - Set .discard(), .remove() & .pop()

Python HackerRank 문제 40 - Set .discard(), .remove() & .pop() Set .discard(), .remove() & .pop() 풀이 n = int(input()) s = set(map(int, input().split())) N = int(input()) for i in range(N): str = input() if str.upper() == "POP": s.pop() else: str = str.split() ch = str[0] se = int(str[1]) if ch.upper() == "REMOVE": s.remove(se) elif ch.upper() == "DISCARD": s.discard(se) print(sum(s)) * 출처 Set .discard(), .remove() & .pop() | HackerRank Different ways to omit set elements. www.hackerrank.com

Naver Blog

Python HackerRank 문제 41 - Collections.deque()

Python HackerRank 문제 41 - Collections.deque() 풀이 from collections import deque d = deque() for i in range(int(input())): exec('d.{0}({1})'.format(*input().split()+[''])) print(*d) * 출처 Collections.deque() | HackerRank Perform multiple operations on a double-ended queue or deque. www.hackerrank.com

Naver Blog

JavaScript_코딩테스트 입문_외계행성의 나이_school_programmers

JavaScript_코딩테스트 입문_외계행성의 나이_school_programmers 풀이 function solution(age) { // abcdefghij -> 0 ~ 9의 값 // 아스키코드를 이용하여 값을 비교한다. return (age + "").split('').map((v) => String.fromCharCode(97+Number(v))).join(''); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/120834 코딩테스트 연습 - 외계행성의 나이 우주여행을 하던 머쓱이는 엔진 고장으로 PROGRAMMERS-962 행성에 불시착하게 됐습니다. 입국심사에서 나이를 말해야 하는데, PROGRAMMERS-962 행성에서는 나이를 알파벳으로 말하고 있습니다. a는 0, b는 1, c는 2, ..., j는 9입니다. 예를 들어 23살은 cd, 51살은 fb로 표현합니다. 나이 age 가 매개변수로 주어질

Naver Blog

JavaScript_코딩테스트 입문_배열 회전시키기_school_programmers

JavaScript_코딩테스트 입문_배열 회전시키기_school_programmers 풀이 function solution(numbers, direction) { // splice를 이용하기 위해 numbers 배열을 복사한다. const right_numbers = numbers.slice(0); const left_numbers = numbers.slice(0); // direction값에 맞춰서 출력한다. return direction == "right" ? [numbers[numbers.length-1]].concat(right_numbers.splice(0,right_numbers.length-1)) : left_numbers.splice(1,numbers.length).concat([numbers[0]]); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/120844 코딩테스트 연습 - 배열 회전시키기 정

Naver Blog

JavaScript_코딩 기초 트레이닝_ad 제거하기_school_programmers

JavaScript_코딩 기초 트레이닝_ad 제거하기_school_programmers 풀이 function solution(strArr) { // "ad"를 포함하지 않는 문자열을 필터링한다. return strArr.filter(v => v.indexOf("ad") == -1); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181870 코딩테스트 연습 - ad 제거하기 문자열 배열 strArr 가 주어집니다. 배열 내의 문자열 중 "ad"라는 부분 문자열을 포함하고 있는 모든 문자열을 제거하고 남은 문자열을 순서를 유지하여 배열로 return 하는 solution 함수를 완성해 주세요. 제한사항 1 ≤ strArr 의 길이 ≤ 1,000 1 ≤ strArr 의 원소의 길이 ≤ 20 strArr 의 원소는 알파벳 소문자로 이루어진 문자열입니다. 입출력 예 strArr result ["and","notad","a

Naver Blog

JavaScript_코딩 기초 트레이닝_간단한 식 계산하기_school_programmers

JavaScript_코딩 기초 트레이닝_간단한 식 계산하기_school_programmers 풀이 function solution(binomial) { // eval()을 쓰는 방법대신 new Funtion()을 사용한 풀이법이다. return new Function(`return ${binomial}`)(); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181865 코딩테스트 연습 - 간단한 식 계산하기 문자열 binomial 이 매개변수로 주어집니다. binomial 은 " a op b " 형태의 이항식이고 a 와 b 는 음이 아닌 정수, op 는 '+', '-', '*' 중 하나입니다. 주어진 식을 계산한 정수를 return 하는 solution 함수를 작성해 주세요. 제한사항 0 ≤ a , b ≤ 40,000 0을 제외하고 a , b 는 0으로 시작하지 않습니다. 입출력 예 binomial result "

Naver Blog

JavaScript_코딩테스트 입문_피자 나눠 먹기 2_school_programmers

JavaScript_코딩테스트 입문_피자 나눠 먹기 2_school_programmers 풀이 function solution(n) { // while를 이용한 방법이다. var num = 1; while (num * 6 % n) { num++; } return num; } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/120815 코딩테스트 연습 - 피자 나눠 먹기 (2) 머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n 이 매개변수로 주어질 때, n 명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조각을 먹어야 한다면 최소 몇 판을 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요. 제한사항 1 ≤ n ≤ 100 입출력 예 n result 6 1 10 5 4 2 입출력 예 설명 입출력 예 #1 6명이 모두 같은 양을 먹기 위해 한 판을 시켜야 피자가 6

Naver Blog

JavaScript_코딩 기초 트레이닝_배열 만들기 3_school_programmers

JavaScript_코딩 기초 트레이닝_배열 만들기 3_school_programmers 풀이 function solution(arr, intervals) { // 구조분해 할당을 이용한 풀이법 const [[a,b], [c,d]] = intervals; return [...arr.slice(a, b + 1), ...arr.slice(c, d + 1)] } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181895 코딩테스트 연습 - 배열 만들기 3 정수 배열 arr 와 2개의 구간이 담긴 배열 intervals 가 주어집니다. intervals 는 항상 [[a1, b1], [a2, b2]] 의 꼴로 주어지며 각 구간은 닫힌 구간입니다. 닫힌 구간은 양 끝값과 그 사이의 값을 모두 포함하는 구간을 의미합니다. 이때 배열 arr 의 첫 번째 구간에 해당하는 배열과 두 번째 구간에 해당하는 배열을 앞뒤로 붙여 새로운 배열

Naver Blog

JavaScript_연습문제_평균 구하기_school_programmers

JavaScript_연습문제_평균 구하기_school_programmers 풀이 function solution(arr) { // 합계를 구한다음 길이만큼 나눈다. return arr.reduce((a,b) => a += b,0) / arr.length; } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/12944 코딩테스트 연습 - 평균 구하기 문제 설명 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. 제한사항 arr은 길이 1 이상, 100 이하인 배열입니다. arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. 입출력 예 arr return [1,2,3,4] 2.5 [5,5] 5 solution.c 실행 결과 실행 결과가 여기에 표시됩니다. school.programmers.co.kr

Naver Blog

JavaScript_연습문제_짝수와 홀수_school_programmers

JavaScript_연습문제_짝수와 홀수_school_programmers 풀이 function solution(num) { // 나머지값으로 분별하기 return num % 2 == 0 ? "Even" : "Odd"; } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/12937 코딩테스트 연습 - 짝수와 홀수 문제 설명 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 조건 num은 int 범위의 정수입니다. 0은 짝수입니다. 입출력 예 num return 3 "Odd" 4 "Even" school.programmers.co.kr

Naver Blog

JavaScript_월간 코드 챌린지 시즌3_나머지가 1이 되는 수 찾기_school_programmers

JavaScript_월간 코드 챌린지 시즌3_나머지가 1이 되는 수 찾기_school_programmers 풀이 function solution(n) { // 배열화한뒤 나머지 1을 출력하는 몫을 찾아 첫번째 값을 반환한다. return Array.from({ length: n}, (_,i) => 2 + i).filter(v => n % v == 1)[0]; } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/87389 코딩테스트 연습 - 나머지가 1이 되는 수 찾기 자연수 n 이 매개변수로 주어집니다. n 을 x 로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x 를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. 제한사항 3 ≤ n ≤ 1,000,000 입출력 예 n result 10 3 12 11 입출력 예 설명 입출력 예 #1 10을 3으로 나눈 나머지가 1

Naver Blog

JavaScript_연습문제_x만큼 간격이 있는 n개의 숫자_school_programmers

JavaScript_연습문제_x만큼 간격이 있는 n개의 숫자_school_programmers 풀이 function solution(x, n) { // 배열을 이용한 풀이법 return Array.from({length:n}).fill(0).map((v,i) => v = x * (i+1)); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/12954 코딩테스트 연습 - x만큼 간격이 있는 n개의 숫자 문제 설명 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. 제한 조건 x는 -10000000 이상, 10000000 이하인 정수입니다. n은 1000 이하인 자연수입니다. 입출력 예 x n answer 2 5 [2,4,6,8,10] 4 3 [4,8,12]

Naver Blog

Python HackerRank 문제 44 - Set .difference() Operation

Python HackerRank 문제 44 - Set .difference() Operation Set .difference() Operation 풀이 n1 = int(input()) s1 = set(map(int,input().split())) n2 = int(input()) s2 = set(map(int,input().split())) print(len(s1-s2)) * 출처 Set .difference() Operation | HackerRank Use the .difference() operator to check the differences between sets. www.hackerrank.com

Naver Blog

JavaScript_코딩 기초 트레이닝_가까운 1 찾기_school_programmers

JavaScript_코딩 기초 트레이닝_가까운 1 찾기_school_programmers 풀이 function solution(arr, idx) { /* 이게 왜 안되는지 모르겠음 arr.forEach(function(v,i){ if(v == 1 && i >= idx){ return i; } }); */ for(var i = 0; i < arr.length; i++){ if(arr[i] == 1 && i >= idx){ return i; } } return -1; } forEach와 for문의 차이가 없는 로직인데 for문은 먹히고 forEach는 안된다?? console.log로 찍어봤더니 결과는 동일한데.. 이유를 모르겠다. * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181898 코딩테스트 연습 - 가까운 1 찾기 정수 배열 arr 가 주어집니다. 이때 arr 의 원소는 1 또는 0입니다. 정수 idx 가 주어

Naver Blog

JavaScript_코딩 기초 트레이닝_x 사이의 개수_school_programmers

JavaScript_코딩 기초 트레이닝_x 사이의 개수_school_programmers 풀이 function solution(myString) { // "x"로 나눈 배열 문자열 값을 길이로 변환 return myString.split("x").map(v=>v.length); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181867 코딩테스트 연습 - x 사이의 개수 문자열 myString 이 주어집니다. myString 을 문자 "x"를 기준으로 나눴을 때 나눠진 문자열 각각의 길이를 순서대로 저장한 배열을 return 하는 solution 함수를 완성해 주세요. 제한사항 1 ≤ myString 의 길이 ≤ 100,000 myString 은 알파벳 소문자로 이루어진 문자열입니다. 입출력 예 myString result "oxooxoxxox" [1, 2, 1, 0, 1, 0] "xabcxdefxghi" [0,

Naver Blog

Python HackerRank 문제 45 - Mod Divmod

Python HackerRank 문제 45 - Mod Divmod Mod Divmod 풀이 a, b = int(input()), int(input()) div, div2 = divmod(a, b) print(div) print(div2) print((div, div2)) * 출처 Mod Divmod | HackerRank Get the quotient and remainder using the divmod operator in Python. www.hackerrank.com

Naver Blog

Python HackerRank 문제 46 - Integers Come In All Sizes

Python HackerRank 문제 46 - Integers Come In All Sizes 풀이 a,b,c,d=[int(input()) for i in range(4)] print(pow(a,b)+pow(c,d)) * 출처 Integers Come In All Sizes | HackerRank Exercises with big integers in Python. www.hackerrank.com

Naver Blog

Python HackerRank 문제 47 - Power - Mod Power

Python HackerRank 문제 47 - Power - Mod Power Power - Mod Power 풀이 a = int(input()) b = int(input()) m = int(input()) print(pow(a,b)) print(pow(a,b,m)) * 출처 Power - Mod Power | HackerRank Perform modular exponentiation in Python. www.hackerrank.com

Naver Blog

Python HackerRank 문제 48 - Set .symmetric_difference() Operation

Python HackerRank 문제 48 - Set .symmetric_difference() Operation Set .symmetric_difference() Operation 풀이 n1 = input() s1 = set(map(int,input().split())) n2 = input() s2 = set(map(int,input().split())) print(len(s1 ^ s2)) * 출처 Set .symmetric_difference() Operation | HackerRank Making symmetric difference of sets. www.hackerrank.com

Naver Blog

Python HackerRank 문제 49 - Set Mutations

Python HackerRank 문제 49 - Set Mutations Set Mutations 풀이 a = input() s1 = set(map(int,input().split())) for i in range(int(input())): x = input().split() s2 = set(map(int,input().split())) if x[0]=="intersection_update": s1.intersection_update(s2) elif x[0]=="update": s1.update(s2) elif x[0]=="symmetric_difference_update": s1.symmetric_difference_update(s2) elif x[0]=="difference_update": s1.difference_update(s2) print(sum(s1)) * 출처 Set Mutations | HackerRank Using various operations, change the

Naver Blog

Python HackerRank 문제 50 - The Captain's Room

Python HackerRank 문제 50 - The Captain's Room The Captain's Room 풀이 from collections import Counter c = Counter() k, room_list = int(input()), input().split() data_num = Counter(room_list) for i in data_num: if data_num[i] == 1: print(i) * 출처 The Captain's Room | HackerRank Out of a list of room numbers, determine the number of the captain's room. www.hackerrank.com

Naver Blog

Python HackerRank 문제 51 - Check Subset

Python HackerRank 문제 51 - Check Subset Check Subset 풀이 for i in range(int(input())): a = input() s1 = set(map(int,input().split())) b = input() s2 = set(map(int,input().split())) print(s1.issubset(s2)) * 출처 Check Subset | HackerRank Verify if set A is a subset of set B. www.hackerrank.com

Naver Blog

Python HackerRank 문제 52 - Check Strict Superset

Python HackerRank 문제 52 - Check Strict Superset Check Strict Superset 풀이 s1 = set(map(int,input().split())) for i in range(int(input())): s2 = set(map(int,input().split())) if s1.issuperset(s2): if len(s1)>len(s2): continue else: print(False) break else: print(True) * 출처 Check Strict Superset | HackerRank Check if A is a strict superset of the other given sets. www.hackerrank.com

Naver Blog

Python HackerRank 문제 53 - Class 2 - Find the Torsional Angle

Python HackerRank 문제 53 - Class 2 - Find the Torsional Angle Find the Torsional Angle 풀이 import math class Points(object): def __init__(self, x, y, z): self.x=x self.y=y self.z=z def __sub__(self, no): return Points(no.x-self.x, no.y-self.y, no.z-self.z) def dot(self, no): return self.x*no.x+self.y*no.y+self.z*no.z def cross(self, no): return Points(self.y*no.z-self.z*no.y,self.z*no.x-self.x*no.z,self.x*no.y-self.y*no.x) def absolute(self): return pow((self.x ** 2 + self.y ** 2 + self.z ** 2), 0

Naver Blog

JavaScript_코딩 기초 트레이닝_0 떼기_school_programmers

JavaScript_코딩 기초 트레이닝_0 떼기_school_programmers 풀이 function solution(n_str) { // 정규식을 이용하여 0으로 시작된 경우 왼쪽 0을 지운다. return n_str.replace(/(^0+)/, ""); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181847 코딩테스트 연습 - 0 떼기 정수로 이루어진 문자열 n_str 이 주어질 때, n_str 의 가장 왼쪽에 처음으로 등장하는 0들을 뗀 문자열을 return하도록 solution 함수를 완성해주세요. 제한사항 2 ≤ n_str ≤ 10 n_str 이 "0"으로만 이루어진 경우는 없습니다. 입출력 예 n_str result "0010" "10" "854020" "854020" 입출력 예 설명 입출력 예 #1 "0010"의 가장 왼쪽에 연속으로 등장하는 "0"을 모두 제거하면 "10"이 됩니다. 입출력 예

Naver Blog

JavaScript_코딩 기초 트레이닝_배열의 원소 삭제하기_school_programmers

JavaScript_코딩 기초 트레이닝_배열의 원소 삭제하기_school_programmers 풀이 function solution(arr, delete_list) { // filter를 걸어서 포함되지 않는 요소만 배열화한다. return arr.filter((i) => !delete_list.includes(i)); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181844 코딩테스트 연습 - 배열의 원소 삭제하기 정수 배열 arr 과 delete_list 가 있습니다. arr 의 원소 중 delete_list 의 원소를 모두 삭제하고 남은 원소들은 기존의 arr 에 있던 순서를 유지한 배열을 return 하는 solution 함수를 작성해 주세요. 제한사항 1 ≤ arr 의 길이 ≤ 100 1 ≤ arr 의 원소 ≤ 1,000 arr 의 원소는 모두 서로 다릅니다. 1 ≤ delete_list 의 길이 ≤ 1

Naver Blog

JavaScript_코딩 기초 트레이닝_순서 바꾸기_school_programmers

JavaScript_코딩 기초 트레이닝_순서 바꾸기_school_programmers 풀이 function solution(num_list, n) { // splice를 이용하여 시작인덱스 ~ 끝 인덱스까지의 값을 추출한 다음 concat을 이용하여 배열요소를 붙인다. const list1 = num_list.splice(n,num_list.length); const list2 = num_list.splice(0,n); return list1.concat(list2); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181891 코딩테스트 연습 - 순서 바꾸기 정수 리스트 num_list 와 정수 n 이 주어질 때, num_list 를 n 번째 원소 이후의 원소들과 n 번째까지의 원소들로 나눠 n 번째 원소 이후의 원소들을 n 번째까지의 원소들 앞에 붙인 리스트를 return하도록 solution 함수를 완성해주세요

Naver Blog

JavaScript_코딩테스트 입문_개미 군단_school_programmers

JavaScript_코딩테스트 입문_개미 군단_school_programmers 풀이 function solution(hp) { // 몫과 나머지를 이용한 풀이법이다. return Math.floor(hp / 5) + Math.floor( (hp % 5) / 3) + ((hp % 5) % 3); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/120837 코딩테스트 연습 - 개미 군단 개미 군단이 사냥을 나가려고 합니다. 개미군단은 사냥감의 체력에 딱 맞는 병력을 데리고 나가려고 합니다. 장군개미는 5의 공격력을, 병정개미는 3의 공격력을 일개미는 1의 공격력을 가지고 있습니다. 예를 들어 체력 23의 여치를 사냥하려고 할 때, 일개미 23마리를 데리고 가도 되지만, 장군개미 네 마리와 병정개미 한 마리를 데리고 간다면 더 적은 병력으로 사냥할 수 있습니다. 사냥감의 체력 hp 가 매개변수로 주어질 때, 사냥감의 체

Naver Blog

JavaScript_코딩테스트 입문_가위 바위 보_school_programmers

JavaScript_코딩테스트 입문_가위 바위 보_school_programmers 풀이 function solution(rsp) { // 값을 비교 후 변경한다음 합친다. return [...rsp].map((v) => v = v == "2" ? "0" : v == "0" ? "5" : "2").join(""); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/120839 코딩테스트 연습 - 가위 바위 보 가위는 2 바위는 0 보는 5로 표현합니다. 가위 바위 보를 내는 순서대로 나타낸 문자열 rsp 가 매개변수로 주어질 때, rsp에 저장된 가위 바위 보를 모두 이기는 경우를 순서대로 나타낸 문자열을 return하도록 solution 함수를 완성해보세요. 제한사항 0 < rsp 의 길이 ≤ 100 rsp 와 길이가 같은 문자열을 return 합니다. rsp 는 숫자 0, 2, 5로 이루어져 있습니다. 입출력 예

Naver Blog

JavaScript_코딩 기초 트레이닝_할 일 목록_school_programmers

JavaScript_코딩 기초 트레이닝_할 일 목록_school_programmers 풀이 function solution(todo_list, finished) { // 인덱스를 추출한 풀이법 return todo_list.filter((v,i) => !finished[i]); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181885 코딩테스트 연습 - 할 일 목록 오늘 해야 할 일이 담긴 문자열 배열 todo_list 와 각각의 일을 지금 마쳤는지를 나타내는 boolean 배열 finished 가 매개변수로 주어질 때, todo_list 에서 아직 마치지 못한 일들을 순서대로 담은 문자열 배열을 return 하는 solution 함수를 작성해 주세요. 제한사항 1 ≤ todo_list 의 길이 1 ≤ 100 2 ≤ todo_list 의 원소의 길이 ≤ 20 todo_list 의 원소는 영소문자로만 이루어져 있습

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 () { // 이중반복문을 이용한 풀이법 var str = ""; for(var i = 0; i < Number(input[0]); i++){ str = ""; for(var j = 0; j < i + 1; j++){ str += "*"; } console.log(str); } }); * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/12

Naver Blog

JavaScript_코딩테스트 입문_최댓값 만들기 2_school_programmers

JavaScript_코딩테스트 입문_최댓값 만들기 2_school_programmers 풀이 function solution(numbers) { // 곱한 값을 배열에 넣는다. var answer = []; for(let i = 0; i < numbers.length - 1; i++){ for(let j = i + 1; j < numbers.length; j++){ answer.push(numbers[i] * numbers[j]); } } // 에러 방지용 return Math.max.apply(null, answer); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/120862 코딩테스트 연습 - 최댓값 만들기 (2) 정수 배열 numbers 가 매개변수로 주어집니다. numbers 의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요. 제한사항 -10,000 ≤

Naver Blog

JavaScript_코딩테스트 입문_문자열 정렬하기 1_school_programmers

JavaScript_코딩테스트 입문_문자열 정렬하기 1_school_programmers 풀이 function solution(my_string) { // 숫자가 아닌 경우 공백으로 치환한다음 해당 문자를 숫자로 바꿔서 정렬한다. return my_string.replace(/[^0-9]/gi,'').split('').map(Number).sort(); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/120850 코딩테스트 연습 - 문자열 정렬하기 (1) 문자열 my_string 이 매개변수로 주어질 때, my_string 안에 있는 숫자만 골라 오름차순 정렬한 리스트를 return 하도록 solution 함수를 작성해보세요. 제한사항 1 ≤ my_string 의 길이 ≤ 100 my_string 에는 숫자가 한 개 이상 포함되어 있습니다. my_string 은 영어 소문자 또는 0부터 9까지의 숫자로 이루어져 있습

Naver Blog

JavaScript_코딩 기초 트레이닝_특별한 이차원 배열 2_school_programmers

JavaScript_코딩 기초 트레이닝_특별한 이차원 배열 2_school_programmers 풀이 function solution(arr) { // 값 비교 시 일치하지 않는 경우 0, 모두 일치한 경우 1을 반환한다. for(var i = 0; i < arr.length; i++){ for(var j = 0; j < arr.length; j++){ if(arr[i][j] != arr[j][i]) return 0; } } return 1; } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181831 코딩테스트 연습 - 특별한 이차원 배열 2 제한사항 1 ≤ arr 의 길이 = arr 의 원소의 길이 ≤ 100 1 ≤ arr 의 원소의 원소 ≤ 1,000 모든 arr 의 원소의 길이는 같습니다. 입출력 예 arr result [[5, 192, 33], [192, 72, 95], [33, 95, 999]] 1 [[1

Naver Blog

JavaScript_코딩테스트 입문_주사위의 개수_school_programmers

JavaScript_코딩테스트 입문_주사위의 개수_school_programmers 풀이 function solution(box, n) { // 초기값 1을 설정한 다음 인덱스 0부터 시작하여 누적값을 구한다. return box.reduce((a, b) => a * Math.floor(b / n), 1); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/120845 코딩테스트 연습 - 주사위의 개수 머쓱이는 직육면체 모양의 상자를 하나 가지고 있는데 이 상자에 정육면체 모양의 주사위를 최대한 많이 채우고 싶습니다. 상자의 가로, 세로, 높이가 저장되어있는 배열 box 와 주사위 모서리의 길이 정수 n 이 매개변수로 주어졌을 때, 상자에 들어갈 수 있는 주사위의 최대 개수를 return 하도록 solution 함수를 완성해주세요. 제한사항 box 의 길이는 3입니다. box[0] = 상자의 가로 길이 box[1] =

Naver Blog

Python HackerRank 문제 54 - Input()

Python HackerRank 문제 54 - Input() Input() 풀이 x, k = map(int, input().split()) print(eval(input()) == k) * 출처 Input() | HackerRank A Python 2 challenge: Input() is equivalent to eval(raw_input(prompt)). www.hackerrank.com

Naver Blog

Python HackerRank 문제 55 - Zipped!

Python HackerRank 문제 55 - Zipped! Zipped! 풀이 N, X = map(int,input().split()) A = [] for i in range(X): A.append(list(map(float,input().split()))) for i in zip(*A): print(sum(i)/X) * 출처 Zipped! | HackerRank Compute the average by zipping data. www.hackerrank.com

Naver Blog

Python HackerRank 문제 56 - Python Evaluation

Python HackerRank 문제 56 - Python Evaluation Python Evaluation 풀이 eval(input()) * 출처 Python Evaluation | HackerRank Evaluate the expressions in Python using the expression eval(). www.hackerrank.com

Naver Blog

Python HackerRank 문제 57 - Any or All

Python HackerRank 문제 57 - Any or All Any or All 풀이 n = int(input()) b = list(map(int, input().split())) res = False for a in b: if a>=0 : if all([a<=10, a%2 != 0]): res = True elif int(str(a)[::-1]) == a: res = True else: res = False print(res) * 출처 Any or All | HackerRank Return True, if any of the iterable is true or if all of it is true using the any() and all() expressions. www.hackerrank.com

Naver Blog

JAVA_Valid Palindrome_LeetCode 125

JAVA_Valid Palindrome_LeetCode 125 Valid Palindrome 풀이 class Solution { public boolean isPalindrome(String s) { s = s.toLowerCase().replaceAll("[^a-z0-9]", ""); return s.equals(new StringBuffer(s).reverse().toString()); } } * 출처 Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com

Naver Blog

JAVA_Single Number_LeetCode 136

JAVA_Single Number_LeetCode 136 Single Number 풀이 class Solution { public int singleNumber(int[] nums) { int uniqNum = 0; for (int idx : nums) { uniqNum ^= idx; } return uniqNum; } } * 출처 Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com

Naver Blog

JAVA_Linked List Cycle_LeetCode 141

JAVA_Linked List Cycle_LeetCode 141 Linked List Cycle 풀이 public class Solution { public boolean hasCycle(ListNode head) { if(head == null || head.next == null) return false; ListNode fast = head, slow = head; while(fast.next != null && fast.next.next != null){ fast = fast.next.next; slow = slow.next; if(fast == slow) return true; } return false; } } * 출처 Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. l

Naver Blog

JAVA_Binary Tree Preorder Traversal_LeetCode 144

JAVA_Binary Tree Preorder Traversal_LeetCode 144 풀이 class Solution { public List<Integer> preorderTraversal(TreeNode root) { List<Integer> pre = new LinkedList<Integer>(); if(root==null) return pre; Stack<TreeNode> stack = new Stack<TreeNode>(); stack.push(root); while(!stack.empty()) { TreeNode tree = stack.pop(); pre.add(tree.val); if(tree.right!=null) stack.push(tree.right); if(tree.left!=null) stack.push(tree.left); } return pre; } } * 출처 Level up your coding skills and quickly land a job. T

Naver Blog

JAVA_Binary Tree Postorder Traversal_LeetCode 145

JAVA_Binary Tree Postorder Traversal_LeetCode 145 풀이 class Solution { public List<Integer> postorderTraversal(TreeNode root) { LinkedList<Integer> ans = new LinkedList<>(); Stack<TreeNode> stack = new Stack<>(); if (root == null) return ans; stack.push(root); while (!stack.isEmpty()) { TreeNode tree = stack.pop(); ans.addFirst(tree.val); if (tree.left != null) stack.push(tree.left); if (tree.right != null) stack.push(tree.right); } return ans; } } * 출처 Level up your coding skills and quickly lan

Naver Blog

JAVA_Intersection of Two Linked Lists_LeetCode 160

JAVA_Intersection of Two Linked Lists_LeetCode 160 풀이 public class Solution { public ListNode getIntersectionNode(ListNode headA, ListNode headB) { ListNode nodeA = headA, nodeB = headB; while (nodeA != nodeB) { nodeA = nodeA == null ? headB : nodeA.next; nodeB = nodeB == null ? headA : nodeB.next; } return nodeA; } } * 출처 Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com

Naver Blog

JAVA_Excel Sheet Column Title_LeetCode 168

JAVA_Excel Sheet Column Title_LeetCode 168 풀이 class Solution { public String convertToTitle(int columnNumber) { StringBuilder str = new StringBuilder(); while (columnNumber > 0) { int c = (columnNumber - 1) % 26; str.append((char) (c + 'A')); columnNumber = (columnNumber - 1) / 26; } return str.reverse().toString(); } } * 출처 Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com

Naver Blog

JavaScript_코딩 기초 트레이닝_글자 이어 붙여 문자열 만들기_school_programmers

JavaScript_코딩 기초 트레이닝_글자 이어 붙여 문자열 만들기_school_programmers 풀이 function solution(my_string, index_list) { // index_list의 배열 요소값을 my_string의 문자배열의 인덱스로 사용한다. return index_list.map((v) => [...my_string][v]).join(""); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181915 코딩테스트 연습 - 글자 이어 붙여 문자열 만들기 문자열 my_string 과 정수 배열 index_list 가 매개변수로 주어집니다. my_string 의 index_list 의 원소들에 해당하는 인덱스의 글자들을 순서대로 이어 붙인 문자열을 return 하는 solution 함수를 작성해 주세요. 제한사항 1 ≤ my_string 의 길이 ≤ 1,000 my_string 의 원소

Naver Blog

JavaScript_코딩 기초 트레이닝_원하는 문자열 찾기_school_programmers

JavaScript_코딩 기초 트레이닝_원하는 문자열 찾기_school_programmers 풀이 function solution(myString, pat) { // 두 문자열을 대문자로 변환한 뒤 포함 결과에 따른 값을 반환한다. return (myString.toUpperCase()).indexOf(pat.toUpperCase()) > -1 ? 1 : 0; } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181878 코딩테스트 연습 - 원하는 문자열 찾기 알파벳으로 이루어진 문자열 myString 과 pat 이 주어집니다. myString 의 연속된 부분 문자열 중 pat 이 존재하면 1을 그렇지 않으면 0을 return 하는 solution 함수를 완성해 주세요. 단, 알파벳 대문자와 소문자는 구분하지 않습니다. 제한사항 1 ≤ myString 의 길이 ≤ 100,000 1 ≤ pat 의 길이 ≤ 300 myS

Naver Blog

JavaScript_코딩 기초 트레이닝_n 번째 원소부터_school_programmers

JavaScript_코딩 기초 트레이닝_n 번째 원소부터_school_programmers 풀이 function solution(num_list, n) { // 배열 인덱스가 n - 1 보다 크거나 같은 인덱스 기준으로 필터링한다. return num_list.filter((v,i) => i >= n - 1); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181892 코딩테스트 연습 - n 번째 원소부터 정수 리스트 num_list 와 정수 n 이 주어질 때, n 번째 원소부터 마지막 원소까지의 모든 원소를 담은 리스트를 return하도록 solution 함수를 완성해주세요. 제한사항 2 ≤ num_list 의 길이 ≤ 30 1 ≤ num_list 의 원소 ≤ 9 1 ≤ n ≤ num_list 의 길이 입출력 예 num_list n result [2, 1, 6] 3 [6] [5, 2, 1, 7, 5] 2 [2,

Naver Blog

JavaScript_코딩 기초 트레이닝_공백으로 구분하기 2_school_programmers

JavaScript_코딩 기초 트레이닝_공백으로 구분하기 2_school_programmers 풀이 function solution(my_string) { // 공백을 한 공백으로 만든 뒤, 공백을 기준으로 배열화한다. return my_string.replace(/(^ *)|( *$)/g, "").replace(/ +/g, " ").split(' '); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181868 코딩테스트 연습 - 공백으로 구분하기 2 단어가 공백 한 개 이상으로 구분되어 있는 문자열 my_string 이 매개변수로 주어질 때, my_string 에 나온 단어를 앞에서부터 순서대로 담은 문자열 배열을 return 하는 solution 함수를 작성해 주세요. 제한사항 my_string 은 영소문자와 공백으로만 이루어져 있습니다. 1 ≤ my_string 의 길이 ≤ 1,000 my_string 의

Naver Blog

JavaScript_코딩 기초 트레이닝_l로 만들기_school_programmers

JavaScript_코딩 기초 트레이닝_l로 만들기_school_programmers 풀이 function solution(myString) { // 문자열을 배열로 만든 다음 문자가 "l"보다 앞선 경우 "l"로 변환한 뒤 다시 합친다. return [...myString].map((v) => v = v <= "l" ? "l" : v).join(""); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181834 코딩테스트 연습 - l로 만들기 알파벳 소문자로 이루어진 문자열 myString 이 주어집니다. 알파벳 순서에서 "l"보다 앞서는 모든 문자를 "l"로 바꾼 문자열을 return 하는 solution 함수를 완성해 주세요. 제한사항 1 ≤ myString ≤ 100,000 myString 은 알파벳 소문자로 이루어진 문자열입니다. 입출력 예 myString result "abcdevwxyz" "lllllv

Naver Blog

JavaScript_코딩 기초 트레이닝_배열의 원소만큼 추가하기_school_programmers

JavaScript_코딩 기초 트레이닝_배열의 원소만큼 추가하기_school_programmers 풀이 function solution(arr) { // arr의 요소만큼 배열에 요소 값을 요소 개수만큼 채운 배열 배열을 만든 다음 한번에 합친다. return arr.map((v) => Array(v).fill(v)).flat(); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181861 코딩테스트 연습 - 배열의 원소만큼 추가하기 아무 원소도 들어있지 않은 빈 배열 X가 있습니다. 양의 정수 배열 arr 가 매개변수로 주어질 때, arr 의 앞에서부터 차례대로 원소를 보면서 원소가 a라면 X의 맨 뒤에 a를 a번 추가하는 일을 반복한 뒤의 배열 X를 return 하는 solution 함수를 작성해 주세요. 제한사항 1 ≤ arr 의 길이 ≤ 100 1 ≤ arr 의 원소 ≤ 100 입출력 예 arr result

Naver Blog

JavaScript_코딩 기초 트레이닝_A 강조하기_school_programmers

JavaScript_코딩 기초 트레이닝_A 강조하기_school_programmers 풀이 function solution(myString) { // "a" 또는 "A" 인경우 "A", 아닌 경우 toLowerCase()로 소문자로 변환한 뒤 합친다. return [...myString].map(v=> (v == "a" || v == "A") ? "A" : v.toLowerCase()).join(""); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181874 코딩테스트 연습 - A 강조하기 문자열 myString 이 주어집니다. myString 에서 알파벳 "a"가 등장하면 전부 "A"로 변환하고, "A"가 아닌 모든 대문자 알파벳은 소문자 알파벳으로 변환하여 return 하는 solution 함수를 완성하세요. 제한사항 1 ≤ myString 의 길이 ≤ 20 myString 은 알파벳으로 이루어진 문자열입니

Naver Blog

JavaScript_코딩 기초 트레이닝_뒤에서 5등 위로_school_programmers

JavaScript_코딩 기초 트레이닝_뒤에서 5등 위로_school_programmers 풀이 function solution(num_list) { // 배열을 오름차순으로 정렬한 뒤, 배열 인덱스가 4보다 큰 배열을 반환한다. return num_list.sort((a,b) => a - b).filter((v,i) => i > 4); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181852 코딩테스트 연습 - 뒤에서 5등 위로 정수로 이루어진 리스트 num_list 가 주어집니다. num_list 에서 가장 작은 5개의 수를 제외한 수들을 오름차순으로 담은 리스트를 return하도록 solution 함수를 완성해주세요. 제한사항 6 ≤ num_list 의 길이 ≤ 30 1 ≤ num_list 의 원소 ≤ 100 입출력 예 num_list result [12, 4, 15, 46, 38, 1, 14, 56, 32

Naver Blog

JavaScript_코딩 기초 트레이닝_뒤에서 5등까지_school_programmers

JavaScript_코딩 기초 트레이닝_뒤에서 5등까지_school_programmers 풀이 function solution(num_list) { // 오름차순 정렬 후 slice를 이용하여 첫 인덱스부터 요소가 5개인 배열을 반환한다. return num_list.sort((a,b) => a - b).slice(0,5); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181853 코딩테스트 연습 - 뒤에서 5등까지 문제 설명 정수로 이루어진 리스트 num_list 가 주어집니다. num_list 에서 가장 작은 5개의 수를 오름차순으로 담은 리스트를 return하도록 solution 함수를 완성해주세요. 제한사항 6 ≤ num_list 의 길이 ≤ 30 1 ≤ num_list 의 원소 ≤ 100 입출력 예 num_list result [12, 4, 15, 46, 38, 1, 14] [1, 4, 12, 14, 1

Naver Blog

JavaScript_코딩 기초 트레이닝_배열의 길이에 따라 다른 연산하기_school_programmers

JavaScript_코딩 기초 트레이닝_배열의 길이에 따라 다른 연산하기_school_programmers 풀이 function solution(arr, n) { // arr길이가 홀수면 짝수 인덱스에, 짝수면 홀수 인덱스에 값을 더한다. return arr.map((v,i) => arr.length % 2 == 1 ? (i % 2 == 0 ? v + n : v ) : (i % 2 == 1 ? v + n : v) ); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181854 코딩테스트 연습 - 배열의 길이에 따라 다른 연산하기 정수 배열 arr 과 정수 n 이 매개변수로 주어집니다. arr 의 길이가 홀수라면 arr 의 모든 짝수 인덱스 위치에 n 을 더한 배열을, arr 의 길이가 짝수라면 arr 의 모든 홀수 인덱스 위치에 n 을 더한 배열을 return 하는 solution 함수를 작성해 주세요. 제한사항

Naver Blog

JavaScript_코딩 기초 트레이닝_5명씩_school_programmers

JavaScript_코딩 기초 트레이닝_5명씩_school_programmers 풀이 function solution(names) { // 인덱스가 5의 배수인경우 출력한다. return names.filter((v,i) => i % 5 == 0); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181886 코딩테스트 연습 - 5명씩 최대 5명씩 탑승가능한 놀이기구를 타기 위해 줄을 서있는 사람들의 이름이 담긴 문자열 리스트 names 가 주어질 때, 앞에서 부터 5명씩 묶은 그룹의 가장 앞에 서있는 사람들의 이름을 담은 리스트를 return하도록 solution 함수를 완성해주세요. 마지막 그룹이 5명이 되지 않더라도 가장 앞에 있는 사람의 이름을 포함합니다. 제한사항 5 ≤ names 의 길이 ≤ 30 1 ≤ names 의 원소의 길이 ≤ 10 names 의 원소는 영어 알파벳 소문자로만 이루어져 있습니다. 입

Naver Blog

JavaScript_코딩 기초 트레이닝_부분 문자열 이어 붙여 문자열 만들기_school_programmers

JavaScript_코딩 기초 트레이닝_부분 문자열 이어 붙여 문자열 만들기_school_programmers 풀이 function solution(my_strings, parts) { // substring과 join을 사용한 풀이법이다. return my_strings.map((v,i) => v = v.substring(parts[i][0],parts[i][1]+1) ).join(""); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181911 코딩테스트 연습 - 부분 문자열 이어 붙여 문자열 만들기 길이가 같은 문자열 배열 my_strings 와 이차원 정수 배열 parts 가 매개변수로 주어집니다. parts[i] 는 [s, e] 형태로, my_string[i] 의 인덱스 s부터 인덱스 e까지의 부분 문자열을 의미합니다. 각 my_strings 의 원소의 parts 에 해당하는 부분 문자열을 순서대로 이어

Naver Blog

JavaScript_코딩 기초 트레이닝_홀수 vs 짝수_school_programmers

JavaScript_코딩 기초 트레이닝_홀수 vs 짝수_school_programmers 풀이 function solution(num_list) { let num1 = 0; let num2 = 0 // 인덱스 기준, 홀수 또는 짝수 번째 원소를 더해준다. num_list.map((v, idx) => { !(idx % 2) ? num1 += v : num2 += v; }); return num2 >= num1 ? num2 : num1; } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181887 코딩테스트 연습 - 홀수 vs 짝수 정수 리스트 num_list 가 주어집니다. 가장 첫 번째 원소를 1번 원소라고 할 때, 홀수 번째 원소들의 합과 짝수 번째 원소들의 합 중 큰 값을 return 하도록 solution 함수를 완성해주세요. 두 값이 같을 경우 그 값을 return합니다. 제한사항 5 ≤ num_list 의

Naver Blog

JAVA_Majority Element_LeetCode 169

JAVA_Majority Element_LeetCode 169 풀이 class Solution { public int majorityElement(int[] nums) { Arrays.sort(nums); return nums[nums.length/2]; } } * 출처 Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com

Naver Blog

JAVA_Excel Sheet Column Number_LeetCode 171

JAVA_Excel Sheet Column Number_LeetCode 171 풀이 class Solution { public int titleToNumber(String columnTitle) { int ans = 0; for (int i = 0; i < columnTitle.length(); i++) { ans *= 26; char c = columnTitle.charAt(i); int n = (int) (c - 'A' + 1); ans += n; } return ans; } } * 출처 Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com

Naver Blog

JAVA_Reverse Bits_LeetCode 190

JAVA_Reverse Bits_LeetCode 190 풀이 public class Solution { public int reverseBits(int n) { return Integer.reverse(n); } } * 출처 Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com

Naver Blog

JAVA_Number of 1 Bits_LeetCode 191

JAVA_Number of 1 Bits_LeetCode 191 풀이 public class Solution { public int hammingWeight(int n) { return Integer.bitCount(n); } } * 출처 https://leetcode.com/problems/number-of-1-bits/solutions/

Naver Blog

JAVA_Happy Number_LeetCode 202

JAVA_Happy Number_LeetCode 202 풀이 class Solution { public boolean isHappy(int n) { if (n <= 0) return false; while (n >= 10) { int sum = 0; while (n != 0) { sum += (n % 10) * (n % 10); n /= 10; } n = sum; } return n == 1 || n == 7; } } * 출처 https://leetcode.com/problems/happy-number/ Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com

Naver Blog

JAVA_Remove Linked List Elements_LeetCode 203

JAVA_Remove Linked List Elements_LeetCode 203 풀이 class Solution { public ListNode removeElements(ListNode head, int val) { if (head == null) return null; head.next = removeElements(head.next, val); return head.val == val ? head.next : head; } } * 출처 Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com

Naver Blog

JAVA_Isomorphic Strings_LeetCode 205

JAVA_Isomorphic Strings_LeetCode 205 풀이 class Solution { public boolean isIsomorphic(String s, String t) { if(s.length() != t.length()) return false; int[] map1 = new int[256]; int[] map2 = new int[256]; for(int idx = 0; idx < s.length(); idx++){ if(map1[s.charAt(idx)] != map2[t.charAt(idx)]) return false; map1[s.charAt(idx)] = idx + 1; map2[t.charAt(idx)] = idx + 1; } return true; } } * 출처 Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and ge

Naver Blog

JAVA_Reverse Linked List_LeetCode 206

JAVA_Reverse Linked List_LeetCode 206 풀이 class Solution { public ListNode reverseList(ListNode head) { if(null == head || null == head.next) return head; ListNode rest = head.next; ListNode reversedRest = reverseList(rest); rest.next = head; head.next = null; return reversedRest; } } * 출처 Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com

Naver Blog

JAVA_Contains Duplicate_LeetCode 217

JAVA_Contains Duplicate_LeetCode 217 풀이 class Solution { public boolean containsDuplicate(int[] nums) { HashSet<Integer> map = new HashSet<Integer>(); for (int idx = 0; idx < nums.length; idx ++){ if(map.contains(nums[idx])){ return true; } map.add(nums[idx]); } return false; } } * 출처 Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com

Naver Blog

JAVA_Contains Duplicate II_LeetCode 219

JAVA_Contains Duplicate II_LeetCode 219 풀이 class Solution { public boolean containsNearbyDuplicate(int[] nums, int k) { if (k == 0) return false; HashMap<Integer, Integer> map = new HashMap<>(); for (int i = 0; i < nums.length; i++) { int integer = nums[i]; if (map.containsKey(integer) && i - map.get(integer) <= k) return true; map.put(integer, i); } return false; } } * 출처 Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for you

Naver Blog

JAVA_Implement Stack using Queues_LeetCode 225

JAVA_Implement Stack using Queues_LeetCode 225 풀이 class MyStack { ArrayDeque<Integer> q; public MyStack() { q = new ArrayDeque<>(); } public void push(int x) { q.addFirst(x); } public int pop() { return q.remove(); } public int top() { return q.peekFirst(); } public boolean empty() { return q.isEmpty(); } } * 출처 Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com

Naver Blog

JavaScript_코딩 기초 트레이닝_공백으로 구분하기 1_school_programmers

JavaScript_코딩 기초 트레이닝_공백으로 구분하기 1_school_programmers 풀이 function solution(my_string) { // split을 이용한 풀이법 return my_string.split(' '); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181869 코딩테스트 연습 - 공백으로 구분하기 1 단어가 공백 한 개로 구분되어 있는 문자열 my_string 이 매개변수로 주어질 때, my_string 에 나온 단어를 앞에서부터 순서대로 담은 문자열 배열을 return 하는 solution 함수를 작성해 주세요. 제한사항 my_string 은 영소문자와 공백으로만 이루어져 있습니다. 1 ≤ my_string 의 길이 ≤ 1,000 my_string 의 맨 앞과 맨 뒤에 글자는 공백이 아닙니다. 입출력 예 my_string result "i love you" ["i", "lov

Naver Blog

JavaScript_코딩 기초 트레이닝_특정한 문자를 대문자로 바꾸기_school_programmers

JavaScript_코딩 기초 트레이닝_특정한 문자를 대문자로 바꾸기_school_programmers 풀이 function solution(my_string, alp) { // replaceall과 toUpperCase()를 이용해서 푼 문제 return my_string.replaceAll(alp,alp.toUpperCase()); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181873 코딩테스트 연습 - 특정한 문자를 대문자로 바꾸기 영소문자로 이루어진 문자열 my_string 과 영소문자 1글자로 이루어진 문자열 alp 가 매개변수로 주어질 때, my_string 에서 alp 에 해당하는 모든 글자를 대문자로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요. 제한사항 1 ≤ my_string 의 길이 ≤ 1,000 입출력 예 my_string alp result "programmer

Naver Blog

JavaScript_코딩 기초 트레이닝_접미사인지 확인하기_school_programmers

JavaScript_코딩 기초 트레이닝_접미사인지 확인하기_school_programmers 풀이 function solution(my_string, is_suffix) { // lastIndexOf를 이용하여 뒤에서부터 찾는 인덱스값과 특정 문자를 제거한 문자열의 길이를 비교한다. return my_string.lastIndexOf(is_suffix) == my_string.replace(is_suffix,'').length ? 1 : 0; } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181908 코딩테스트 연습 - 접미사인지 확인하기 어떤 문자열에 대해서 접미사는 특정 인덱스부터 시작하는 문자열을 의미합니다. 예를 들어, "banana"의 모든 접미사는 "banana", "anana", "nana", "ana", "na", "a"입니다. 문자열 my_string 과 is_suffix 가 주어질 때, is_su

Naver Blog

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

JavaScript_코딩 기초 트레이닝_주사위 게임 1_school_programmers 풀이 function solution(a, b) { // 조건에 맞춰서 출력한다. return a % 2 == 1 && b % 2 == 1 ? a * a + b * b : a % 2 == 0 && b % 2 == 0 ? Math.abs(a-b) : 2 * (a + b); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181839 코딩테스트 연습 - 주사위 게임 1 1부터 6까지 숫자가 적힌 주사위가 두 개 있습니다. 두 주사위를 굴렸을 때 나온 숫자를 각각 a , b 라고 했을 때 얻는 점수는 다음과 같습니다. a 와 b 가 모두 홀수라면 a 2 + b 2 점을 얻습니다. a 와 b 중 하나만 홀수라면 2 × ( a + b ) 점을 얻습니다. a 와 b 모두 홀수가 아니라면 | a - b | 점을 얻습니다. 두 정수 a 와 b

Naver Blog

JavaScript_코딩 기초 트레이닝_카운트 다운_school_programmers

JavaScript_코딩 기초 트레이닝_카운트 다운_school_programmers 풀이 function solution(start, end) { // 차이만큼 길이를 가진 배열을 만든 뒤, 각 요소 위치값을 시작값 - 인덱스로 설정한다. return Array.from({length:start - end + 1},(_,i) => start - i ); } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181899 코딩테스트 연습 - 카운트 다운 문제 설명 정수 start 와 end 가 주어질 때, start 에서 end 까지 1씩 감소하는 수들을 차례로 담은 리스트를 return하도록 solution 함수를 완성해주세요. 제한사항 0 ≤ end ≤ start ≤ 50 입출력 예 start end result 10 3 [10, 9, 8, 7, 6, 5, 4, 3] 입출력 예 설명 입출력 예 #1 10부터 3까지 1씩

Naver Blog

JavaScript_코딩 기초 트레이닝_문자열 바꿔서 찾기_school_programmers

JavaScript_코딩 기초 트레이닝_문자열 바꿔서 찾기_school_programmers 풀이 function solution(myString, pat) { // 요소값을 변환한 뒤, 포함 인덱스를 반환하여 있을 경우 1, 없으면 0을 출력한다. return [...myString].map((v) => v = v == "A" ? "B" : "A").join("").indexOf(pat) > -1 ? 1 : 0; } * 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181864 코딩테스트 연습 - 문자열 바꿔서 찾기 문자 "A"와 "B"로 이루어진 문자열 myString 과 pat 가 주어집니다. myString 의 "A"를 "B"로, "B"를 "A"로 바꾼 문자열의 연속하는 부분 문자열 중 pat 이 있으면 1을 아니면 0을 return 하는 solution 함수를 완성하세요. 제한사항 1 ≤ myString 의 길이

Naver Blog

JAVA_Invert Binary Tree_LeetCode 226

JAVA_Invert Binary Tree_LeetCode 226 풀이 class Solution { public TreeNode invertTree(TreeNode root) { if(root!=null){ TreeNode tmp = root.left; root.left =invertTree(root.right); root.right = invertTree(tmp); } return root; } } * 출처 Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com

Naver Blog

JAVA_Binary Tree Tilt_LeetCode 563

JAVA_Binary Tree Tilt_LeetCode 563 풀이 class Solution { int findSum(TreeNode root){ if(root==null) return 0; return root.val + findSum(root.left) + findSum(root.right); } public int findTilt(TreeNode root) { if(root==null) return 0; int left = findTilt(root.left); int right = findTilt(root.right); return Math.abs(findSum(root.left)-findSum(root.right))+left+right; } } * 출처 Binary Tree Tilt - LeetCode Binary Tree Tilt - Given the root of a binary tree, return the sum of every tree node's tilt. The

Naver Blog

JAVA_Reshape the Matrix_LeetCode 566

JAVA_Reshape the Matrix_LeetCode 566 풀이 class Solution { public int[][] matrixReshape(int[][] mat, int r, int c) { int n = mat[0].length; if(r * c != mat.length * n) { return mat; } int[][] ans = new int[r][c]; for(int i = 0; i < r * c; i++) { ans[i/c][i%c] = mat[i/n][i%n]; } return ans; } } * 출처 Reshape the Matrix - LeetCode Reshape the Matrix - In MATLAB, there is a handy function called reshape which can reshape an m x n matrix into a new one with a different size r x c keeping its original d

Naver Blog

JAVA_Subtree of Another Tree_LeetCode 572

JAVA_Subtree of Another Tree_LeetCode 572 풀이 class Solution { public boolean isSubtree(TreeNode root, TreeNode subRoot) { if(root == null || subRoot == null) { return false; } if(root.val == subRoot.val && treeChk(root,subRoot)) { //if entire tree same return true return true; } return isSubtree(root.left,subRoot) || isSubtree(root.right,subRoot); } private boolean treeChk(TreeNode root, TreeNode subRoot) { if(root == null && subRoot == null) { return true; } if(root == null || subRoot == null |

Naver Blog

JAVA_Distribute Candies_LeetCode 575

JAVA_Distribute Candies_LeetCode 575 풀이 class Solution { public int distributeCandies(int[] candyType) { Set<Integer> cset = new HashSet<>(); for (int c : candyType) cset.add(c); return Math.min(cset.size(), candyType.length / 2); } } * 출처 Distribute Candies - LeetCode Distribute Candies - Alice has n candies, where the ith candy is of type candyType[i]. Alice noticed that she started to gain weight, so she visited a doctor. The doctor advised Alice to only eat n / 2 of the candies she has (n is

Naver Blog

JAVA_N-ary Tree Preorder Traversal_LeetCode 589

JAVA_N-ary Tree Preorder Traversal_LeetCode 589 풀이 class Solution { List<Integer> arr = new ArrayList<>(); public List<Integer> preorder(Node root) { if (root == null) return arr; arr.add(root.val); for (Node child : root.children) preorder(child); return arr; } } * 출처 N-ary Tree Preorder Traversal - LeetCode N-ary Tree Preorder Traversal - Given the root of an n-ary tree, return the preorder traversal of its nodes' values. Nary-Tree input serialization is represented in their level order traver

1 2 3 4 5 6 7 8 9 10