일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 |
- 상속
- 예외처리
- Calendar Class
- 비전공자
- for문
- 코딩
- 캐스팅연산자
- super 생성자
- 취준생
- 가위바위보프로그램
- 국비지원
- 자바
- 백앤드
- 추상화
- exception
- userDefineException
- 부모 생성자
- 클래스의구조
- Java
- 사용자 정의 예외처리
- do~while문
- 프로그래머스
- Date Class
- 개발
- AoutoBoxing
- 독학
- 개발자
- 생성자
- 예외던지기
- 알고리즘
- Today
- Total
목록알고리즘 (3)
유난스런 개발 기록
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/1q5RS/btswpXqRPtP/yJcEaTwfCBRGi9XZBUqJn0/img.png)
알고리즘을 공부하면서 자동완성과 막연히 알고 있기에 넘어갔던 문법에 대한 중요성을 깨달았다. 최근 풀었던 문제 중에 가장 어려웠던 문제인 거 같다.배열의 요소와 최빈값 설정을 보자마자 Map을 사용해야겠다는 것은 생각이 났지만, 막상 코드로 구현하려니 어려움이 많았다. 해당 문제를 풀기 위해서는 알아두면 좋을 메서드가 있다. (해당 정리는 프로그래머스에서 다른 분이 주석을 달아 둔 것을 인용했습니다.) getOrDefault : 찾는 키가 존재한다면 찾는 키의 값을 반환하고 없다면 기본 값을 반환하는 메서드 // getOrDefault(Object key, V DefaultValue) // 매개변수 : 이 메서드는 두개의 매개변수를 허용 // key : 값을 가져와야 하는 요소의 키 // defaultV..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/qAtGL/btsv7Xe1OtH/Xpk5nKw9QVdLqN2OqaiEIK/img.png)
문제를 처음 보았을 때 생각이 났던 방법은 ArrayList를 사용하는 것이었지만, 주어진 리턴 타입을 유지하고자 했다. int k 배열 answer에서 k에 해당하는 인덱스 값을 의미하며 for문을 실행할 때 1씩 증가한다. i가 홀수일 경우 인덱스 번호 k에 할당이 되며, 조건을 충족할 때까지 반복문을 실행한다. 사실 개인적으로 ArrayList를 사용하는 것이 더 편했을 거 같다. 동적으로 배열의 크기가 조정되며 배열의 size만큼 반복문을 돌리면 되기 때문에 생각할 것이 더 줄어드는 느낌이랄까 정답 코드 class Solution { public int[] solution(int n) { int[] answer = new int[(n+1)/2]; //홀수 개수만큼의 배열의 크기 설정. int k ..
문제 설명 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 입출력 예 n return 12345 [5,4,3,2,1] 나의 풀이 과정 입력한 숫자를 문자열로 변환해준다. 변환 되어진 문자열을 역순이 되도록 뒤집어준다. 뒤집힌 문자열을 문자형태의 배열로 변환해준다. 변환 되어진 배열의 문자를 숫자로 바꿔준다. 나의 코드 class Solution { public int[] solution(long n) { String str = Long.toString(n); String reverse = new StringBuilder(str).reverse().t..