나의 풀이 단순히 lottos의 모든 숫자를 탐색하여 0의 개수를 구하고, win_nums와 일치하는 숫자의 개수를 구하였다. 이 둘을 더해 rank라는 static 함수로 보내면 2개 이상 맞춘 경우와 그 이하의 경우 각각 순위 값을 반환해주도록 하였다. 다른
문제 바로가기상당히 오랜 시간동안 구글링을 하고 나서야 풀 수 있었다. 파이썬으로 쉽게 풀 수 있었는데 자바에서는 문자열에 대한 공부가 더 필요할 것 같다. 특히, 정규 표현식에 대해 깊게 공부한 다음 추가 포스팅을 올리도록 하겠다.
문제 바로가기처음에는 반복문을 돌려가면서 숫자면 넘기고, 단어면 차례대로 더해가면서 특정한 문자열이 되면 Replace로 특정한 문자열에 해당하는 값으로 변환해주면 되겠다고 생각했다.그래서 떠오른 것이 Key, Value로 구성된 Map이었고 아래와 같은 코드를 작성하
문제 바로가기해당 숫자를 인덱스로 갖는 좌표로 2차원 배열을 구성하였다.2차원 배열그리고 numbers 배열에서 (x,y) 형식을 갖춘 원소를 하나씩 꺼내면서 x가 0이면 1,4,7 일 것이고 x가 2이면 3,6,9 이며, x가 1이면 2,5,8,0 중의 하나가 될 것
문제 바로가기이 문제에서는 테스트 1번이 말썽을 부려 오랜 시간 고민을 했다. 인덱스 에러때문에 골치가 아팠는데 잠시 밥을 먹고와서 다시 생각해보니 어디가 틀렸는지 보였다.이 부분에서 i == 0 일때도 -2를 해줘서 i = -1이 되어버린 상황이었던 것이다... (한
문제 바로가기카카오 level1 코테 문제를 풀다보니 너무 쉽게 느껴졌던 문제이다. 이렇게 삼항연산자를 사용했다면 훨씬 효율적으로 문제를 풀었겠지만 난 if else문으로 풀었다.삼항연산자 (조건문) ? 참 : 거짓
문제 바로가기너무 쉬운 문제였다.
문제 바로가기생각보다 오래 걸린 문제였다. 나는 우선 원소가 최대 998 999 1000이 선택될 경우를 생각하여 인덱스 2999까지 소수면 0, 소수가 아니면 1의 값을 가지도록 dp 테이블을 만들었다.dp 테이블을 만들어준 이유는 3개 ~ 50개의 원소를 가진 nu
문제 바로가기정확성 테스트만 통과하고 효율성 테스트를 통과하지 못한 나의 첫번째 풀이이다. 효율성을 그나마 끌어올리고자 binarySearch를 활용하였으나 100,000명의 마라톤 선수를 매번 탐색하는 것 자체가 효율적이지 못했나보다.탐색 과정에서 시간 복잡도 1을
문제 바로가기우선 나는 int 배열의 최댓값을 구할때 Arrays.stream()을 이용했는데 Math.max를 이용할 수도 있을 듯 하다.Java에서는 int 배열을 선언할 때 크기도 같이 결정해주어야하기 때문에, 최고점을 받은 사람이 1명인지, 2명인지 모르는 상태
문제 바로가기int 배열의 삭제가 불가능해서 삭제해주고 싶은 값은 -10이라는 전혀 관계없는 수를 넣어주긴 했는데 좋은 과정은 아닌듯하다. 그냥 이 문제만을 풀기위한 방식이랄까...또한 find 메서드를 좀 더 리팩토링하면 코드의 반복이 줄어들어 훨씬 좋은 풀이를 만들
문제 바로보기모처럼 쉬운 문제였다. 다만 import java.util.\*; 뿐만 아니라 import java.util.stream.\*; 까지 선언해줬어야 했다. 아마 코드를 단축하기 위해 쓴 Collectors 때문인 것 같다.
문제 바로가기 나의 풀이 Java는 배열을 활용하는 문제에서 참 불편하다. Arrays.copyOfRange()를 활용했다면 for문을 많이 줄일 수 있을 것으로 보인다.
문제 바로가기이 문제는 기본적인 구현 문제이다. 다만 주의해야할 점이 몇가지 있다. 첫번째는 실패율을 구한뒤 정렬을 할때, 인덱스 값을 기억해둬야 한다는 것이다. 처음에는 for문을 두개 돌리면서 sorted된 failure 배열과 기존의 failure 배열의 값을 비