CS 63

문제 // Codility // Sorting // MaxProductOfThree

업데이트 :: 2018.08.21 문제코드결과문제Maximize A[P] * A[Q] * A[R] for any triplet (P, Q, R). 코드1차 풀이import java.util.*; class Solution { public int solution(int[] A) { // 3개의 요소의 곱이 가장 큰것 // (-)가 3개일때 => (-) // (-)가 2개일때 => (+) // (-)가 1개일때 => (-) // (-)가 0개일때 => (+) Arrays.sort(A); if(A[0] * A[1] > A[A.length-2] * A[A.length-1]) { return A[0] * A[1] * A[A.length-1]; } else { return A[A.length-3] * A[A.len..

CS/코딜리티 2018.08.21

문제 // Codility // Prefix Sum // GenoricRangeQuery // (성능부족)

업데이트 :: 2018.08.19 문제코드결과학습문제A DNA sequence can be represented as a string consisting of the letters A, C, G and T, which correspond to the types of successive nucleotides in the sequence. Each nucleotide has an impact factor, which is an integer. Nucleotides of types A, C, G and T have impact factors of 1, 2, 3 and 4, respectively. You are going to answer several queries of the form: What is th..

CS/코딜리티 2018.08.20

문제 // Codility // Prefix Sum // CountDiv

업데이트 :: 2018.08.19 문제코드결과학습문제Write a function: class Solution { public int solution(int A, int B, int K); } that, given three integers A, B and K, returns the number of integers within the range [A..B] that are divisible by K, i.e.: { i : A ≤ i ≤ B, i mod K = 0 } For example, for A = 6, B = 11 and K = 2, your function should return 3, because there are three numbers divisible by 2 within the ran..

CS/코딜리티 2018.08.19

문제 // Codility // Prefix Sum // PassingCars

업데이트 :: 2018.08.19 문제코드결과문제A non-empty array A consisting of N integers is given. The consecutive elements of array A represent consecutive cars on a road. Array A contains only 0s and/or 1s: 0 represents a car traveling east, 1 represents a car traveling west. The goal is to count passing cars. We say that a pair of cars (P, Q), where 0 ≤ P < Q < N, is passing when P is traveling to the east an..

CS/코딜리티 2018.08.19

문제 // Codility // Counting Elements // MissingInteger

업데이트 :: 2018.08.19 문제코드결과문제Counting Elements > MissingInteger Find the smallest positive integer that does not occur in a given sequence. 코드1차 풀이import java.util.*; class Solution { public int solution(int[] A) { // A에서 없는 가장 작은 양수 정수를 반환 // - 수가 중복될 수 있음 // - 음수가 섞여 있음 // - 음수만 있는 경우 // [1, 1, 2, 3, 4] -> 5 Arrays.sort(A); int min = 1; // == 나올숫자 == for(int i=0; i 0) { // == 나올숫자가 안나왔을때 (종료) ==..

CS/코딜리티 2018.08.19

문제 // Codility // Counting Elements // MaxCounters // (성능부족)

업데이트 :: 2018.08.17 문제코드결과학습문제Counting Elements > MaxCounters Calculate the values of counters after applying all alternating operations: increase counter by 1; set value of all counters to current maximum. 코드1차 풀이import java.util.*; // you can write to stdout for debugging purposes, e.g. // System.out.println("this is a debug message"); class Solution { public int[] solution(int N, int[] A) { //..

CS/코딜리티 2018.08.17

문제 // Codility // Counting Elements // FrogRiverOne

업데이트 :: 2018.08.16 문제코드결과학습문제Counting Elements > FrogRiverOne Find the earliest time when a frog can jump to the other side of a river. 코드첫 번째 풀이import java.util.*; class Solution { public int solution(int X, int[] A) { // == Exception == if(A == null) return -1; for(int i=0; i A.length) return -1; // == init == int position = 0; boolean[] paths = new boolean[A.length]; for(boolean path : paths)..

CS/코딜리티 2018.08.16

문제 // Codility // Counting Elements // PermCheck

업데이트 :: 2018.08.15 문제코드결과학습문제Counting Elements > PermCheck Check whether array A is a permutation. 코드첫 번째 풀이import java.util.*; // you can write to stdout for debugging purposes, e.g. // System.out.println("this is a debug message"); class Solution { public int solution(int[] A) { // [배열의 순열을 파악하는 문제] // A의 길이 1~10000000000 (충분히큰수) // N의 크기 1~10000000000 (층븐히큰수) // => 배열이 반드시 1부터 시작하나 ? 아니라고 가정 ..

CS/코딜리티 2018.08.16