본문 바로가기

전체 글154

List <-> 배열 변환하는 법 배열을 List로 1. Arrays.asList() String[] arr = { "A", "B", "C" }; List list = Arrays.asList(arr); 배열의 요소를 수정하든 List의 요소를 수정하든 서로의 영향을 받는다 ex) 배열에서 "A"를 "D"로 바꾸면 List에서도 "A"가 "D"로 바뀜 얕은 복사(Shallow Copy)로 생각하시면 됩니다. 2. new ArrayList( Arrays.asList()) String[] arr = { "A", "B", "C" }; List list = new ArrayList(Arrays.asList(arr)) 그래서 new 생성자로 새로운 List를 만든 후 거기에 복사해줍니다. 깊은 복사(Deep Copy)로 생각하시면 됩니다. 그런데.. 2024. 3. 29.
항해99 TIL 4일차 (체육복 / 프로그래머스) 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1 번째 시도 문제 파악 2번 학생은 1,3 번 학생의 교복을 빌릴 수 있지만 1번 교복을 빌리는 게 최상의 선택입니다. 왜냐하면 3번 교복을 빌릴시, 교복을 잃어버린 4번 학생이 교복을 못 빌릴 수 있기 때문입니다. 고로, 로직은 자신의 앞 번호에 해당하는 교복이 있으면 빌리고 없으면 뒤에 있는 교복을 빌리는 로직으로 짜겠습니다. 만약 3번 학생이 1번 학생의 교복을 빌리지 못한다면 4 번학생은 1 번학생의 교복을 빌릴 수 있는지 탐색을 안해도 됩니다. +) 까먹고 제한사항을 확인을 안했습니다. 다시 .. 2024. 3. 29.
HashMap 사용법 HashMap은 Key와 Value의 묶음모음으로 이루어져 있는 자료구조입니다. HashMap 생성법 HashMap h1 = new HashMap( ); // 기본 capacity:16, load factor:0.75 HashMap h2 = new HashMap(20); // capacity:20으로 설정 HashMap h3 = new HashMap(20, 0.8); // capacity:20, load factor:0.8로 설정 HashMap h4 = new HashMap(h1); // 다른 Map(h1)의 데이터로 초기화 c capacity는 데이터 저장 용량, load factor는 데이터 저장공간을 추가로 확보해야 하는 시점을 지정합니다. load factor 0.8 은 저장공간이 80% 채워져 .. 2024. 3. 28.
항하99 TIL 3일차(바탕화면 정리/프로그래머스) 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1 번째 시도 아이디어: 그리드 / 현재 상황 속에서 최적인 해 구하기 정렬하지 않은 배열을 다 돈다. x1,y1의 최솟값을 구하고 x2,y2의 최댓값을 업데이트 해간다. import java.util.*; class Solution { public int[] solution(String[] wallpaper) { int height = wallpaper.length; int width = wallpaper[0].length(); int lux = Integer.MAX_VALUE; int luy = In.. 2024. 3. 28.
[Trasactional] 자바 스케줄러 테스트 시도 과정 요구사항: 게임이 시작하면 Room 상태를 PROGRESS로 바꾸고, 1분 뒤에 FINISH로 바꿔라 서비스단 코드 @Service @RequiredArgsConstructor public class RoomUpdateService { private final UserRepository userRepository; private final UserRoomRepository userRoomRepository; private final RoomRepository roomRepository; private final UserService userService; private final RoomService roomService; private final SchedulerService schedulerServi.. 2024. 3. 28.
99클럽 코테 스터디 2일차 TIL(최댓값과 최솟값 /프로그래머스) 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1 번째 시도 import java.util.*; class Solution { public String solution(String s) { String[] ch = s.split(" "); int n = ch.length; int[] numbers = new int[n]; for (int i = 0; i < n; i++) { numbers[i] = Integer.parseInt(ch[i]); } int min = numbers[0]; int max = numbers[0]; for (int j = 1;.. 2024. 3. 27.
99클럽 코테 스터디 1일차 TIL(두 큐 합 같게 만들기 /프로그래머스) 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 요구사항 정리 각 큐의 합이 같도록 하는 최소 횟수 넣고 빼는데 '큐라는' 자료구조 특성을 반영해야 함 각 큐의 원소 합을 같게 만들지 못한다면 -1을 리턴 해결법 두 개를 1/2 씩 맞춘다는 관점보다 하나를 1/2 맞추면 다른 하나는 1/2가 맞춰진다로 생각 먼저 두 큐 원소의 합을 저장하는 변수 생성 최소 횟수이려면 큐 앞단에 위치한 요소들을 움직여야 함 A큐의 원소 하나를 빼서 B큐에 넣으면 B큐의 원소 하나도 A큐로 가야함(길이를 맞춰야 하기 때문에) A큐 B큐의 원소가 모두.. 2024. 3. 26.
자료구조 참조 사이트(내가 보기 위해 만든 것) ArrayList와 LinkedList 차이 Today-I-Learn/Java/Collection/List/ArrayList vs LinkedList.md at master · wjdrbs96/Today-I-Learn :octocat: Today I Learned. 그날 그날 모든 활동들을 정리. Contribute to wjdrbs96/Today-I-Learn development by creating an account on GitHub. github.com 2024. 3. 26.
[백준] 7785번 회사에 있는 사람 7785번: 회사에 있는 사람 첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. "enter"인 경우는 www.acmicpc.net 문제 상근이는 세계적인 소프트웨어 회사 기글에서 일한다. 이 회사의 가장 큰 특징은 자유로운 출퇴근 시간이다. 따라서, 직원들은 반드시 9시부터 6시까지 회사에 있지 않아도 된다. 각 직원은 자기가 원할 때 출근할 수 있고, 아무때나 퇴근할 수 있다. 상근이는 모든 사람의 출입카드 시스템의 로그를 가지고 있다. 이 로그는 어떤 사람이 회사에 들어왔는지, 나갔는지가 기록되어져 있다. 로그가 주어졌을 때, 현재 회사에 있는 모.. 2024. 3. 25.