목록자바 (8)
밍쎄의 코딩공간
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ugOYt/btsrYTMP7vp/aCtx6zan9xksUaRqQ1ydC1/img.png)
정수 n이 매개변수로 주어집니다. 다음 그림과 같이 밑변의 길이와 높이가 n인 삼각형에서 맨 위 꼭짓점부터 반시계 방향으로 달팽이 채우기를 진행한 후, 첫 행부터 마지막 행까지 모두 순서대로 합친 새로운 배열을 return 하도록 solution 함수를 완성해주세요. - 제한사항 제한사항 n은 1 이상 1,000 이하입니다. - 입출력 예 n result 4 [1,2,9,3,10,8,4,5,6,7] 5 [1,2,12,3,13,11,4,14,15,10,5,6,7,8,9] 6 [1,2,15,3,16,14,4,17,21,13,5,18,19,20,12,6,7,8,9,10,11] 이 문제에서는 삼각형을 표현해야 한다. 사각형인 2차원 배열을 표로 나타내면 쉽게 해결할 수 있다. 문제 조건인 반시계 방향으로 '달팽..
오늘의 문제는 자꾸 오류가 났다. 1번방법 import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; class Solution { public int[] solution(String[] idList, String[] report, int k){ // @param idList : 이용자의 ID를 담은 배열. // @param report : 신고한 이용자와 신고당한 이용자의 정보를 담은 배열. ex) "a b",.. -> a가 b를 신고 // @param k : 신고 횟수에 따른 정지 기준 정수값. // @return answer : id_list에 담긴 id 순서대로 각 유저가 받은 신고 결과 메일 개수 배열. int[] a..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cQQ5as/btsq5burBLx/Vh6yCoTsi9qSGhY2oRwRp1/img.jpg)
문득 공부가 하기 싫어질 때, 나는 어떤 것의 한 가지에 집중하게 된다. 하루는 제로베이스 홈페이지에 있는 모든 버튼을 다 눌러봤다. (항상 하는 엄청난 뻘짓) 거기서 "클린 코드" 라는 책을 접하게 되었다. 항상 책이면 에세이만 읽는 나에게는 에세이가 아닌 개발 서적에 어려움을 겪는다고 느꼈는데, 인생도 코딩처럼 내가 인생이란 판을 구축을 하니 낯설긴 커녕,, 술술 익힌다.. https://zero-base.co.kr/event/media_review_1book_cleancode 한달한권 수강후기 | “『클린코드』 언젠가 읽어볼까 싶었다면, ‘한달한권’으로 도전해보세 기술서적을 읽을 때의 어려움, 한달한권으로 극복한 수강후기입니다. zero-base.co.kr 요즘 내가 코딩하는 자세는 "모 아니면 도..
자바에서의 그리디(Greedy) 알고리즘은 최적해를 찾는 문제를 해결하기 위한 한 가지 접근 방법이다. 그리디 알고리즘은 각 단계에서 가장 최선의 선택을 하여 전체 문제의 최적해를 찾아내는 방식으로 작동한다. 그리디 알고리즘의 일반적인 구현 단계 문제 이해 및 모델링: 문제를 잘 이해하고, 최적해를 찾기 위한 그리디 전략을 정의한다. 탐욕 선택 기준 정의: 각 단계에서 가장 좋은 선택을 어떤 기준으로 판단할 것인지 정의한다. 이 선택 기준은 문제의 특성에 따라 다를 수 있다. 탐욕적 선택 수행: 정의한 선택 기준에 따라 각 단계에서 최선의 선택을 수행한다. 유효성 검사 및 해 검증: 선택한 해가 문제의 조건을 만족하는지 검사하고, 전체 해가 올바른지 검증한다. 밑 예제는 거스름돈을 줄 때 가장 적은 동전..
import java.util.HashSet; class Solution { public int solution(int n, int[] lost, int[] reserve) { int answer = 0; HashSet resSet = new HashSet(); HashSet loSet = new HashSet(); for(int i: reserve) { resSet.add(i); } for(int i: lost) { if(resSet.contains(i)) { resSet.remove(i); } else { loSet.add(i); } } for(int i: resSet) { if(loSet.contains(i-1)) { loSet.remove(i - 1); } else if(loSet.contains..
import java.util.*; class Solution { public int solution(int[] rank, boolean[] attendance) { int answer = 0; ArrayList al = new ArrayList(); for(int i = 0; i a[0] - b[0]); answer += al.get(0)[1] * 10000; answer += al.get(1)[1] * 100; answer += al.get(2)[1]; return answer; } } https://school.programmers.c..