IT상자140 13. 나이순 정렬, 파일명 정렬 나이순 정렬 members.sort(Comparator.comparingInt(m -> m.age));리스트 정렬 : 파이썬의 람다 표현식과 비슷 : m -> m.age : Member 객체 m 하나 받아서 그 안의 age 반환 : Comparator는 “두 객체를 비교”하는 함수 : comparingInt()는 그걸 간단하게 한 객체에서 비교 기준 숫자만 꺼냄 자바의 기본 정렬은 안정 정렬이라 입력 순서 그대로 유지 : 즉, 나이(age)가 같으면 순서를 그대로 유지 : 만약 age를 먼저 비교하고 같은 경우엔 이름 기준으로 정렬하고 싶다면? : .thenComparing()members.sort( Comparator.comparingInt(m -> m.age) .then.. 2025. 10. 27. 12. 캐시, 수강신청 캐시 LRU 캐시를 구현할 때 큐 + 리스트 기능을 모두 집어넣어서 쓰고 싶음 : 이때는 아래와 같이 LinkedList로 선언LinkedList cache = new LinkedList();앞에서 제거(removeFirst) : 뒤에 추가(addLast) : 중간에서 특정 요소 제거(remove(Object)) : 요소 포함 여부 검사(contains) : 이 중 중간 요소 제거(remove(Object))는 Queue 인터페이스에는 없고, LinkedList에는 있음 : 또한, Queue에서의 remove() 메서드는 "맨 앞 원소 제거"용임 최종코드import java.util.*;class Solution { // 문자열 배열 : String[] public int solution(i.. 2025. 10. 27. 11. 요세푸스 문제, 에디터 (자료구조) 요세푸스 문제 자바에는 deque 대신 Queue (또는 LinkedList)를 쓰면 거의 똑같이 동작 : 자바의 자료구조 설계 방식은 LinkedList가 Queue 기능을 구현한 클래스임 : 즉, Queue는 "인터페이스"(설계도)이며, LinkedList는 “구현체”(실제 작동하는 클래스)임 Queue q = new LinkedList();// 좌측 : “큐처럼 쓸 거야” (사용 규칙은 FIFO 구조)// 우측 : “큐 기능을 하는 자료구조를 LinkedList로 구현할게”파이썬자바q.popleft()q.remove()q.append(x)q.add(x)order.append(...)order.add(...) 최종코드import java.util.*;public class Main { publ.. 2025. 10. 26. 10. 빙고, 다트게임 빙고 자바에는 인덱스 (i, j)를 저장해놓을 튜플같은 자료형이 없음 : 2차원 배열을 쓰는게 일반적idxMap[val][0] = i; // 행 인덱스idxMap[val][1] = j; // 열 인덱스파이썬에서 썼던 for문 문법은 아래와 같이 자바에서도 쓸 수 있음// 파이썬의 for문for num in host:// 자바의 for문for (int num : host) 최종코드import java.util.*;public class Main { static int[][] matrix = new int[5][5]; static int[] colCheck = new int[5]; static int[] rowCheck = new int[5]; static int diag1 = 0; .. 2025. 10. 26. 9. 콜라츠의 추측, 더하기 사이클 지금까지 해왔던 파이썬 코드 JAVA로 풀어보기 일단 자바 프로그램은 항상 아래 틀 안에서 시작함을 이해하자public class Main { public static void main(String[] args) { // 코드가 여기서 실행됨 }}public class Main : 프로그램의 이름(클래스 이름) : 한 파일에 한 개의 public 클래스만 존재해야함public static void main(String[] args) : 자바 프로그램의 시작점 (C언어의 int main()과 같은 역할)public class Main { public static void main(String[] args) { SubClass sc = new SubClass(); .. 2025. 10. 25. 8. JAVA로 TODO리스트 만들기 파이썬과의 비교? 클래스와 객체파이썬의 class TodoList: → 자바에서는 public class TodoList { ... }자바는 모든 걸 명확히 타입을 지정해야 함 : self.works = [] (파이썬) → private ArrayList> works; (자바) : 즉, 할 일 목록이 어떤 자료형인지 미리 딱 정해야함생성자파이썬 : def __init__(self): self.works = []자바 : public TodoList() { this.works = new ArrayList(); } : __init__ 대신 클래스 이름과 동일한 메서드가 생성자가 됨메서드파이썬 : def add_works(self, work)자바 : public void addWorks(Map work) : .. 2025. 9. 29. 이전 1 2 3 4 ··· 24 다음