본문 바로가기

전체 글237

항해99 20일차 TIL( 전력망을 둘로 나누기 / 프로그래머스) 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1 번째 시도 연결선이 가장 많은 숫자 구하기 그 숫자랑 연결되어 있는 선 하나씩 끊어보며 차이 업데이트하기 import java.util.*; class Solution { public int solution(int n, int[][] wires) { int group1N = 0; int group2N = 0; int[][] linesN = new int[n][2]; int k = 1; //linesN = 숫자마다 연결되어 있는 숫자 개수 구하기 for(int[] l : linesN) { l[0] = .. 2024. 4. 17.
[프로그래머스] 연속된 부분 수열의 합 / 자바 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1 번째 시도 시작 인덱스를 i 끝 인덱스를 j 로 가정한다. i를 고정하고 j를 올려가면 총합을 올려간다. 만약 i ~ j 의 합이 주어진 k와 같거나 크다면 반복문을 멈춘단. 같다면 멈추고 i와j의 길이, i, j를 기록한다. i +1 하고 2 ~ 3 과정을 반복한다. 기록한 것들을 조건에 부합하게 정렬한다. 가장 앞에 있는 인덱스를 꺼낸다. import java.util.*; class Solution { public int[] solution(int[] sequence, int k) { int n.. 2024. 4. 16.
Iterator에 대하여 Iterator 자바의 컬렉션에 존재하는 값들을 읽어오기 위한 방법으로 'iterator'라는 클래스가 존재한다. 이 iterator는 해당 컬렉션의 주소값을 기반으로 하나씩 값을 조회하는 클래스이다. 따라서, 대표적으로 다음과 같은 두 개의 함수가 존재한다. hasNext() : 다음 값을 갖고 있는지 true/false 반환 next() : 다음 값으로 이동 및 반환 자바에서는 각각의 컬렉션별로 Iterator를 반환하는 함수를 갖고 있고, 이 함수는 컬렉션의 첫 번째 주소 값을 반환하는 형식으로 되어있습니다. Iterator를 이용해 컬렉션을 추출하는 방법은 '첫 번째 주소를 담은 Iterator 생성 -> 반복문을 통해 하나씩 이동하며 저장된 값 반환' 입니다. 이를 코드로 나타내면 다음과 같습니.. 2024. 4. 16.
Set에 대하여 Set은 중복을 없애기 위해 사용한다. Set의 구현체로는 HashSet, LikedHashSet, TreeSet이 있다. HashSet: 순서x, 중복x LikedHashSet: 순서o, 중복x TreeSet: 오름차순, 중복x HashSet intHashSet = new HashSet(); LinkedHashSet intLinkedHashSet = new LinkedHashSet(); TreeSet intTreeSet = new TreeSet(); for (int i : new int[] { 3, 1, 8, 5, 4, 7, 2, 9, 6}) { intHashSet.add(i); intLinkedHashSet.add(i); intTreeSet.add(i); } Set strHashSet = new Ha.. 2024. 4. 16.
Intellij 설정 Intellij UI 바꾸기 Terminal git bash로 바꾸기 2024. 4. 16.
항해 99 19일차( 신고 결과 받기 / 프로그래머스) 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1 번째 시도 이 문제 자체는 쉬웠지만 자료구조에 대해 고민을 많이 했다. Key: 신고당한 사람 Value: 신고한 사람 reportMatching(HashMap) Key: 메일 받은 사람 Value: 메일 받은 횟수 lMap(LinkedHashMap) import java.util.*; class Solution { public Collection solution(String[] id_list, String[] report, int k) { ArrayList reportMatching = new Ar.. 2024. 4. 16.
[프로그래머스] 무인도 여행, 자바 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1 번째 시도 dfs가 익숙치 않아 일단 제 생각대로 dfs를 짜보겠습니다. import java.util.*; class Solution { boolean[][] visited; public int[] solution(String[] maps) { visited = new boolean[maps.length][maps[0].length()]; ArrayList resultList = new ArrayList(); for(int i =0 ; i< maps.length; i++){ for(int j =0;.. 2024. 4. 15.
[프로그래머스] 택배상자, 자바 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1 번째 시도 문제가 장황해서 어려워 보일 수 있지만, 택배상자의 우선순위 배열을 만들고 우선순위 배열을 탐색하다 부합하는 숫자가 있으면 count하고 없으면 stack에 보관하는 문제이다. import java.util.*; class Solution { public int solution(int[] order) { int present = 0; int result = 0; Stack stack = new Stack(); int[] priorty = new int[order.length]; for(in.. 2024. 4. 15.
항해 99 18일차 TIL( 대충 만든 자판 / 프로그래머스 ) 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1 번째 시도 자료구조는 HashMap을 사용한다. HashMap에 알파벳마다 눌러야 하는 최소 횟수를 저장한다. Keymap의 알파벳을 탐색하며 알파벳마다 눌러야 하는 최소 횟수를 업데이트 해간다. import java.util.*; class Solution { public int[] solution(String[] keymap, String[] targets) { int n = keymap.length; HashMap map = new HashMap(); for (int i = 0; i < n; i.. 2024. 4. 15.