최대공약수?가 일단 먼저 생각났다일단 좌표에서 나올 수 있는 가장 큰 수는 n이므로 n까지 n을 나눴을 때 0이 나오는 i를 찾는다.
map HashMap 은 key와 value 값을 필요로 한다 key를 통해 value 값을 출력할 수 있다 문제를 예를 들면,, | key | value | | :-: | :-: | | .- | a | | -... | b | | -.-. | c | 이러한 식이다
처음에는 numbers 배열을 반복해줘야겠다는 생각으로 이런 풀이를 하다가 단단히 잘못되고 있다는걸 깨닫고 그냥 숫자를 나열해서 나머지를 나오게 한 다음 그걸 배열해야겠다는 생각을 했다.숫자을 나열하고 numbers.length으로 나누려하니 나머지가 0이 나오는 원소
문제 답안 코드
굉장히 쉬운 문제였다.그냥 각 모서리를 n으로 나눈 값을 다 곱하면 된다.난 프로그래머스 문제를 풀다보면 지레 겁먹고 시작하는데 이를 좀 줄여야겠다는 생각을 한다.
count를 세서 3보다 크면 answer을 하나씩 늘려줬다.나는 중복for문이 나오면 저런 if문을 사이사이에 어딜 둬야할지 헷갈리는 경향이 있다.그래서 if(count >= 3)을 처음에는 j for문 안에다가 두었었는데 말도 안되는 answer 값이 나왔었다;다행
Array.sort(arr) : 작은 수부터 큰 수로 오름차순 정렬Array.sort(arr, Collections.reverseOrder()) : 내림차순 정렬오름차순 정렬 후 뒤에서 두번째거와 첫번째거 곱해주기.
어차피 n은 3628800 초과로는 나올 수 없다고 문제에서 제한해줬기때문에 나올 수 있는 n의 가장 큰 수는 10이라는 점을 이용해 for문에서 범위를 정해줬다.그러고 팩토리얼 식을 a\*=i;로 써줬고 곱해주다가 a 값이 n보다 커지면 break문을 통해 멈추고 이
string을 split으로 나눠서 aeiou에 해당하면 제거 아니면 그냥 그대로.다른 코드로도 풀어보았다.replaceAll("\[]","") : \[]안에 있는 string을 ""안에 있는 string으로 바꿔준다.
전문제랑 다를것없이 풀었다.이건 다른 사람들이 푼 코드가 되게 다양했던것 같은데 다른 사람들이 푼 문제에 사용됐던 메소드를 몇개 정리해보려한다.Character.getNumericValue() : charAt을 통해 char 값으로 바꾸면 아스키코드 값으로 반환되기에
일단 2부터 나누기를 해서 나눠지면 2로 한번 더 해보고 더 이상 나눠지지 않을때(나머지가 0이 아닐 때), 3으로 넘어가서 나눠본다. 즉, 2부터 1++을 해서 그 수를 저장을 해볼까나,,
}
문제 >### 답안 코드 >### 코드 풀이 원소를 또 다른 string 배열에 각각 저장해주기.
indexOf() : 특정 문자나 문자열이 앞에서부터 처음 발견되는 인덱스를 반환하며 만약 찾지 못했을 경우 "-1"을 반환합니다.
}
원래 배열을 정렬한 걸 따로 선언해주기 위해 복사한 후 정렬해줬다.그냥 sort한걸 선언해주려하니 sort를 하면 void로 선언되기에 변수가 달라 오류가 났다...
}
}
}
}
이 문제 역시 고민의 흔적과 같이 넣었다.정렬해주는거 아스키코드의 숫자로 작은 숫자부터 차례로 정렬해주면 어떨까 해서 고민해본 흔적이다.문자열 배열이 아닌 문자열을 정렬하려면 어떻게 해야할까 할 때 보면 되는 문제.
문제 >### 답안 코드 >### 코드 풀이 테스트케이스 8에서 오류가 났었는데 board 범위 제한 두는걸 주석대로 하면 옮기는 과정에서 이미 범위 밖으로 벗어나면 제한선에서 시작해야하는데 제한선 밖에 벗어난 그 시점부터 시작하기 때문에 범위 제한문을 같이 둬야한다.
}
딱 보자마자 hashmap을 써야겠다 싶었다.map안에 없는 값은 0을 더해줘야하기 때문에 containsKey를 써서 없으면 0을 더해줬다.
class Solution { public int\[] solution(String\[] park, String\[] routes) { HashMap<Character, int\[]> map = new HashMap<>(); m
우선 wallpaper에서 크기를 cnt로 정해졌으면 find 배열에 저장.find 배열에서 각각 i, j의 작은 값, 큰 값을 각각의 매개변수에 저장.깔끔하다........
class Solution { public String solution(String\[] participant, String\[] completion) { Map <String, Integer> player = new Hashtable<>(
}
문제 >### 문제 답안 >### 답안 풀이 첨엔 2진수로 바뀐 string함수 따로, string에서 1을 찾아 count하는 함수 따로 만들어줬다. 그랬더니 효율성테스트에서 0점이였다. 비효율적이라는 리뷰를 받았고 리뷰대로 합쳐줬더니 효율성 테스트도 통과했다!
링크텍스트Integer.parseInt() : (primitive type int)Integer.valueOf() : (Integer Objective)숫자 외의 것이 있을 때, NumberFormatException아스키코드는 char 형태에서 사용해보자.이 문제의
contains() : boolean contains(CharSequence s)대상 문자열에 특정 문자열이 포함되어 있는지 확인하는 함수string 배열을 사용해서 spell의 문자열이 dic에 포함되어있으면 count를 해서 spell의 length와 같으면 즉,
문제 >### 문제 답안 >### 답안 풀이 첨에 조건문을 잘못 써서 테케가 4,5번이 실패 했다. 이유는 130과 같은 숫자도 3이 들어가서 안되는데 if문을 첨에는 '각각의 자릿수가 3이 되면 안된다' 라는 조건을 걸어줬기 때문! (예를 들어 130이라는 숫자
유한소수 판별하기(https://school.programmers.co.kr/learn/courses/30/lessons/120878}
특이한 정렬생각보다 시간이 걸렸고, 생각보다 갑자기(?) 해결된 문제우선 해결해야하는 점을 생각해보면...절대값이 같은 숫자가 있으면 큰 숫자부터 출력해야한다!이 한가지가 마음에 계속 걸리면서 풀었는데... 이를 어떻게 해결하고자 하였냐면 일단 numlist를 정렬해주
등수 매기기전에 풀었던 '특이한 정렬'이라는 문제랑 비슷하게 푼거같은데, 문제는 점수가 같으면 중복 등수를 주어진다는 것이였다.처음에는 이중 for문을 돌리면서 while문 대신 if문을 써주었는데 이러면, 점수가 같으면 한 점수는 rank가 0으로 기록된다. 그래서
네트워크}
옹알이(1)}이렇게 해줬는데 1. babblingi = 어쩌구 이런식의 선언 필요2\. ""로 대체해주면 wyeoo 같은 경우에 ye가 ""로 바뀌면서 woo가 돼서 이것도 ""로 대체되버리면서 틀리게 된다.그래서 " "로 바꿔주고 공백을 세면서 이것의 갯수가 stri
크기가 작은 부분 문자열 문제 클릭!처음엔 비교해주는걸 Integer.parseInt로 string을 바꿔줬는데, 런타임 에러가 났다.알고보니 p의 길이가 최대 18까지였고 그래서 안됐던거이다.int 최대 자릿수 10까지, long은 19까지
문제 두개 뽑아서 더하기 문제 클릭! >### 문제 답안 >### 답안 풀이 contains() 함수를 잘못 알고 있어서 못풀다가 바로잡고는 다시 바로 푼 문제! 우선 두개씩 더한걸 arraylist에 넣어준 후, 중복되는건 빼기 위해 contains()를 써
덧칠하기 문제 클릭!}
이진 변환 반복 문제 링크 클릭!}