STUDYING/Algorithm
-
조합STUDYING/Algorithm 2021. 10. 5. 14:33
조합 For문 사용 ( n이 정해져 있을 때) public class 조합_for { public static void main(String[] args) { int[] arr = {1, 3, 5, 7, 9}; // 5C3 arr의 5개 원소중 임의의 3개 선택 for (int i = 0; i < arr.length - 2; i++) for (int j = i + 1; j < arr.length - 1; j++) for (int k = j + 1; k < arr.length; k++) System.out.println(arr[i] + " " + arr[j] + " " + arr[k]); } } 재귀사용 import java.util.Arrays; public class 조합_재귀 { public stat..
-
[Programmers] H-IndexSTUDYING/Algorithm 2021. 9. 27. 00:45
https://programmers.co.kr/learn/courses/30/lessons/42747 코딩테스트 연습 - H-Index H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표 programmers.co.kr import java.util.*; class Solution { public int solution(int[] citations) { int answer = 0; Arrays.sort(citations); // System.out.println(Arrays.toString(citations)); for(int i = citati..
-
[Programmers] 경주로 건설STUDYING/Algorithm 2021. 9. 27. 00:44
https://programmers.co.kr/learn/courses/30/lessons/67259 코딩테스트 연습 - 경주로 건설 [[0,0,0,0,0,0,0,1],[0,0,0,0,0,0,0,0],[0,0,0,0,0,1,0,0],[0,0,0,0,1,0,0,0],[0,0,0,1,0,0,0,1],[0,0,1,0,0,0,1,0],[0,1,0,0,0,1,0,0],[1,0,0,0,0,0,0,0]] 3800 [[0,0,1,0],[0,0,0,0],[0,1,0,1],[1,0,0,0]] 2100 [[0,0,0,0,0,0],[0,1,1,1,1,0],[0,0,1,0,0,0],[1,0,0,1,0,1],[ programmers.co.kr import java.util.LinkedList; import java.util.Qu..
-
[Programmers] 자연수 뒤집어 배열로 만들기STUDYING/Algorithm 2021. 9. 27. 00:43
https://programmers.co.kr/learn/courses/30/lessons/12932 코딩테스트 연습 - 자연수 뒤집어 배열로 만들기 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 입출력 예 n return 12345 programmers.co.kr func solution(_ n:Int64) -> [Int] { var scattered = String(n).map{ String($0) } scattered.reverse() let res = scattered.compactMap{Int($0)} return res }
-
[Programmers] 수박수박수박수박수박수?STUDYING/Algorithm 2021. 9. 27. 00:43
https://programmers.co.kr/learn/courses/30/lessons/12922 코딩테스트 연습 - 수박수박수박수박수박수? 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 제한 programmers.co.kr func solution(_ n:Int) -> String { var res = "" for i in 0..
-
[Programmers] 호텔 방 배정STUDYING/Algorithm 2021. 9. 27. 00:42
https://programmers.co.kr/learn/courses/30/lessons/64063 import Foundation var dict = [Int64: Int64]() func solution(_ k: Int64, _ room_number: [Int64]) -> [Int64] { var answer = [Int64]() for number in room_number { let room = find(room: number) answer.append(room) } return answer } func find(room: Int64) -> Int64 { if dict[room] == nil { dict[room] = room + 1 return room } dict[room] = find(ro..
-
[Programmers] 위장STUDYING/Algorithm 2021. 9. 27. 00:41
func solution(_ clothes:[[String]]) -> Int { var dic: [String: Int] = [:] clothes.forEach { (cloth) in if dic.keys.contains(cloth[1]) { dic[cloth[1]]! += 1 } else { dic[cloth[1]] = 1 } } var result = 1 for val in dic { result *= (val.value + 1) } return result - 1 }