2025/04 195

키오스크 과제 정리 & 회고

요구 사항 정의https://gajicoding.tistory.com/250 요구사항 정의필수 기능Lv 1. 기본적인 키오스크를 프로그래밍해보자Lv 2. 객체 지향 설계를 적용해 햄버거 메뉴를 클래스로 관리하기Lv 3. 객체 지향 설계를 적용해 순서 제어를 클래스로 관리하기Lv 4. 객체 지gajicoding.tistory.com새롭게 알게된 문법가변 인자 (...)Map - compute(), computeIfAbsent(), computeIfPresent()가변 리스트 vs 불변 리스트키오스크 과제 학습 목표(체크리스트) ☑️ 완료, ✖️ 실패, △ 미흡☑️ 클래스를 작성하고 객체를 생성하여 활용할 수 있는가?☑️ 컬렉션을 활용해 여러 개의 값을 저장하고 조작할 수 있는가?☑️ 메서드를 정의하고 호출..

요구사항 정의

필수 기능Lv 1. 기본적인 키오스크를 프로그래밍해보자Lv 2. 객체 지향 설계를 적용해 햄버거 메뉴를 클래스로 관리하기Lv 3. 객체 지향 설계를 적용해 순서 제어를 클래스로 관리하기Lv 4. 객체 지향 설계를 적용해 음식 메뉴와 주문 내역을 클래스 기반으로 관리하기Lv 5. 캡슐화 적용하기 도전 기능Lv 1. 장바구니 및 구매하기 기능을 추가하기Lv 2. Enum, 람다 & 스트림을 활용한 주문 및 장바구니 관리 필수 기능 Lv 1. 기본적인 키오스크를 프로그래밍해보자학습 목표입력 처리와 간단한 흐름 제어 복습Scanner 활용법, 조건문, 반복문을 재확인하며 입력 데이터를 처리하는 방법 강화요구사항 정의햄버거 메뉴 출력 및 선택하기햄버거 메뉴를 출력print 문을 사용하여, 햄버거 메뉴를 term..

가변 리스트 vs 불변 리스트

가변 리스트ArrayList, LinkedList와 같은 클래스를 사용하여 가변 리스트를 선언할 수 있다.List mutableList = new ArrayList();mutableList.add("Item 1");mutableList.add("Item 2"); 가변 리스트 특징가변성(Mutable): 리스트의 내용을 변경할 수 있다.항목을 추가하거나 삭제할 수 있다.동적 크기 조정: 리스트의 크기가 필요에 따라 자동으로 확장된다. 가변 리스트 장단점장점유연성: 리스트의 내용을 쉽게 수정할 수 있기 때문에 데이터의 변화가 잦은 경우 유용하다.성능: 데이터를 자주 수정하는 경우 성능이 더 뛰어난 경우가 많다.단점데이터 안전성 부족: 가변 리스트는 여러 스레드에서 동시에 접근할 때 데이터 무결성 문제가 발생..

Java/문법 2025.04.29

Map - compute(), computeIfAbsent(), computeIfPresent()

키의 존재 여부에 따라 값을 계산하고, Map을 자동으로 갱신해주는 메서드들compute()computeIfAbsent()computeIfPresent() * Java 8부터 Map 인터페이스에 추가되었다.기존 방식if (map.containsKey(key)) { map.put(key, map.get(key) + 1);} else { map.put(key, 1);}compute() - 키가 있든 없든, 값을 저장지정한 키에 대해 값을 계산해서 저장한다.키가 이미 존재하면 그 값을 기반으로 새 값을 계산한다.키가 없어도 계산 함수는 실행된다.계산 결과가 null이면 해당 키는 Map에서 삭제된다.V compute(K key, BiFunction remappingFunction)Map map = ..

Java/문법 2025.04.29

가변 인자 (...)

가변 인자 (Varargs, Variable Argument ) 란?메서드를 호출할 때 인자의 개수를 유동적으로 받을 수 있도록 해주는 Java 문법가변 인자를 사용하면 하나의 인자로 여러 개의 인자를 받을 수 있다.public void printNames(String... names) { for (String name : names) { System.out.println(name); }}print(); // 아무 것도 출력 안 됨print("Hello"); // Helloprint("Hello", "World", "Java"); // Hello / World / Java..

Java/문법 2025.04.29

12932. 자연수 뒤집어 배열로 만들기

https://school.programmers.co.kr/learn/courses/30/lessons/181952 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한사항n은 10,000,000,000이하인 자연수입니다. 입출력 예nreturn12345[5,4,3,2,1] 풀이import java.util.*;class Solution { public int[] solution(long n) { //*/ int[] answer ..

340213. [PCCP 기출문제] 1번 / 동영상 재생기

https://school.programmers.co.kr/learn/courses/30/lessons/340213 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제당신은 동영상 재생기를 만들고 있습니다. 당신의 동영상 재생기는 10초 전으로 이동, 10초 후로 이동, 오프닝 건너뛰기 3가지 기능을 지원합니다. 각 기능이 수행하는 작업은 다음과 같습니다.10초 전으로 이동: 사용자가 "prev" 명령을 입력할 경우 동영상의 재생 위치를 현재 위치에서 10초 전으로 이동합니다. 현재 위치가 10초 미만인 경우 영상의 처음 위치로 이동합니다. 영상의 처음 위치는 0분 0초입니다.10초 후로 이동: 사용자가..

389478. 택배 상자 꺼내기

https://school.programmers.co.kr/learn/courses/30/lessons/389478 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제1 ~ n의 번호가 있는 택배 상자가 창고에 있습니다. 당신은 택배 상자들을 다음과 같이 정리했습니다.왼쪽에서 오른쪽으로 가면서 1번 상자부터 번호 순서대로 택배 상자를 한 개씩 놓습니다. 가로로 택배 상자를 w개 놓았다면 이번에는 오른쪽에서 왼쪽으로 가면서 그 위층에 택배 상자를 한 개씩 놓습니다. 그 층에 상자를 w개 놓아 가장 왼쪽으로 돌아왔다면 또다시 왼쪽에서 오른쪽으로 가면서 그 위층에 상자를 놓습니다. 이러한 방식으로 n개의 택배..

258712. 가장 많이 받은 선물

https://school.programmers.co.kr/learn/courses/30/lessons/258712 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제선물을 직접 전하기 힘들 때 카카오톡 선물하기 기능을 이용해 축하 선물을 보낼 수 있습니다. 당신의 친구들이 이번 달까지 선물을 주고받은 기록을 바탕으로 다음 달에 누가 선물을 많이 받을지 예측하려고 합니다.두 사람이 선물을 주고받은 기록이 있다면, 이번 달까지 두 사람 사이에 더 많은 선물을 준 사람이 다음 달에 선물을 하나 받습니다.예를 들어 A가 B에게 선물을 5번 줬고, B가 A에게 선물을 3번 줬다면 다음 달엔 A가 B에게 선물을 ..

티스토리 코드 블럭 스타일 변경하기

티스토리 작성 글 내, 코드 블럭 스타일을 변경하려고 한다. 코드 하이라이팅 컬러 변경왼쪽에 코드 넘버 추가코드블럭 radius *****'코드 넘버 추가' 가 필요 없다면블로그 관리 > 플러그인 > 코드 문법 강조 에서 원하는 테마를 선택하는 것도 좋다.스킨 적용하기1. highlight.js 를 다운받고, 압축을 해제한다.https://highlightjs.org/ 2. style 폴더에서 원하는 css 파일을 고른다.테마 미리보기: https://highlightjs.org/demo 3. highlight.min.js 파일과 css 파일을 업로드 한다블로그 관리 > 스킨편집 > html 편집 > 파일 업로드 3. html 파일 편집HTML 탭에서 사이에 코드를 추가한다."./images/..