목록분류 전체보기 (157)
DevYoon
link 🔗 https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 programmers.co.kr 1️⃣ 더한 경우와 뺀 경우를 나눠서 DFS 돌림 def solution(numbers, target): answer = 0 def dfs(level, sums): global answer if level == len(numbers): if sums == target: answer += 1 return dfs(level+1, ..
link 🔗 https://programmers.co.kr/learn/courses/30/lessons/42747 코딩테스트 연습 - H-Index H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표 programmers.co.kr 1️⃣ 0부터 n(논문 개수)까지 첫번째 for문 2️⃣ 두 번째 for문 ➡️ 인용 횟수가 idx이상인 논문의 개수 구하기 3️⃣ 두 번째 for문으로 구한 개수가 idx이상이고 인용 횟수가 idx 미만인 논문의 개수가 idx 이하인 경우, H-Index이므로 answer과 비교 및 갱신 def solution(ci..
link 🔗 https://programmers.co.kr/learn/courses/30/lessons/42746 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 1️⃣ numbers의 원소가 1000 이하 ➡️ 세 자리수로 비교 2️⃣ numbers를 int로 변환 후 다시 str로 변환하는 이유 ➡️ 000인 경우 0으로 나와야 하기 때문에 def solution(numbers): numbers = list(map(str, numbers)) ..
link 🔗 https://programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr def solution(array, commands): answer = [] for c in commands: lst = sorted(array[c[0]-1:c[1]]) answer.append(lst[c[2]-1]) return answer
변수 public class Variable { public static void main(String[] args) { int a = 1; // 정수 = int(integer) System.out.println(a); double b = 1.5; // 실수 = double System.out.println(b); String c = "Hello Java"; // 문자 = String System.out.println(c); } } 1️⃣ 변수 만드는 법 정수 int 변수명 = 정수; 실수 double 변수명 = 실수; 문자열 String 변수명 = "문자"; 💭 실수는 float 아니고 double, 문자열은 string 아니고 String!
문자열 다루기 public class Stringapp { public static void main(String[] args) { System.out.println("Hello World"); // String System.out.println('H'); // Character System.out.println("H"); // 오류 X System.out.println("Hello " + "World"); // 이클립스의 개입 // new line System.out.println("Hello \nWorld"); // 줄바꿈 = \n // escape System.out.println("Hello \"World\""); // Hello "World" \뒤의 따옴표는 일반 문자열 } }1️..
숫자와 연산 public class Number { public static void main(String[] args) { // Operator System.out.println(6+2); // 8 System.out.println(6-2); // 4 System.out.println(6*2); // 12 System.out.println(6/2); // 3 System.out.println(Math.PI); System.out.println(Math.floor(Math.PI)); // floor = 내림 System.out.println(Math.ceil(Math.PI)); // ceil = 올림 } }1️⃣ 파일 쉽게 만들기 New ➡️ Class 2️⃣ 단축어 RUN = Ctrl+F11 3️⃣ M..
link 🔗 https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 programmers.co.kr 1️⃣ DFS를 활용 2️⃣ 더하거나 빼서 target을 만드는 문제이므로, sums 변수에 numbers[level]을 더해줄 때와 빼줄 때로 나누어 돌려주었다. ✏️ 풀이 def solution(numbers, target): answer = 0 def dfs(level, sums): nonlocal answer if le..
1️⃣ 고양이와 개는 몇 마리 있을까 SELECT ANIMAL_TYPE, count(ANIMAL_TYPE) FROM ANIMAL_INS GROUP BY ANIMAL_TYPE ORDER BY ANIMAL_TYPE; 2️⃣ 동명 동물 수 찾기 SELECT NAME, COUNT(NAME) FROM ANIMAL_INS WHERE NAME is NOT NULL GROUP BY NAME HAVING COUNT(NAME) > 1 ORDER BY NAME; 3️⃣ 입양 시각 구하기(1) SELECT HOUR(DATETIME) HOUR, COUNT(DATETIME) COUNT FROM ANIMAL_OUTS GROUP BY HOUR(DATETIME) HAVING HOUR >= 9 AND HOUR