본문 바로가기

Java7

프로그래머스) 푸드 파이트 대회 문제 설명수웅이는 매달 주어진 음식을 빨리 먹는 푸드 파이트 대회를 개최합니다. 이 대회에서 선수들은 1대 1로 대결하며, 매 대결마다 음식의 종류와 양이 바뀝니다. 대결은 준비된 음식들을 일렬로 배치한 뒤, 한 선수는 제일 왼쪽에 있는 음식부터 오른쪽으로, 다른 선수는 제일 오른쪽에 있는 음식부터 왼쪽으로 순서대로 먹는 방식으로 진행됩니다. 중앙에는 물을 배치하고, 물을 먼저 먹는 선수가 승리하게 됩니다.이때, 대회의 공정성을 위해 두 선수가 먹는 음식의 종류와 양이 같아야 하며, 음식을 먹는 순서도 같아야 합니다. 또한, 이번 대회부터는 칼로리가 낮은 음식을 먼저 먹을 수 있게 배치하여 선수들이 음식을 더 잘 먹을 수 있게 하려고 합니다. 이번 대회를 위해 수웅이는 음식을 주문했는데, 대회의 조건을 .. 2023. 12. 6.
컬렉션 컬렉션기본형 변수가 아닌 참조형 변수(래퍼 클래스 변수, String 등)를 저장하며, 배열보다 다수의 참조형 데이터를 더 효과적으로 처리할 수 있는 기능을 가짐(기능 : 크기 자동조정, 추가, 수정, 삭제, 반복, 순회, 필터, 포함확인 등)1. List순서가 있는 데이터의 집합이다. 데이터 중복을 허용한다. 배열과 비슷하다.2. Queue한쪽으로 데이터를 넣고 반대쪽으로 데이터를 뺄 수 있는 집합이다. FIFO; First In First Out. 먼저 들어간 순서대로 값을 조회할 수 있다.cf) Stack : LIFO; Last In First Out. 나중에 들어온 값이 먼저 조회된다. cf) Deque : 앞뒤로 모두 데이터 조회 가능 (카드덱)Deque dque = new ArrayDeque.. 2023. 10. 20.
연산자, for 문, 배열과 String 메소드 연산자프로그래밍에서 변수와 상수를 계산하기 위해 연산을 표현하는 기호연산자 : 계산할 기호 (+, -, ÷, …)피연산자 : 연산자로 인해 계산되는 숫자연산자 우선순위시프트 연산자>> : 왼쪽 값에 오른쪽 값만큼의 부호 비트를 채우면서 오른쪽으로 이동, 1비트 이동시킬 때마다 2배씩 감소int x = 11;printf("%d\n", x>1); // 5 출력// 11의 2진수는 1011// 왼쪽으로 3비트 이동하면 1011000 이 됨// 오른쪽으로 1비트 이동하면 101 이 됨비트 연산자^ : 두 값을 비트 연산하여 같은 비트의 값이 서로 다르면 해당 비트 값이 1이 되고, 그렇지 않으면 0이 되는 연산자(XOR 연산자)~ : 모든 비트의 값을 반대로 바꾸는 반전 기능을 하는 연산자(NOT 연산자), 뒤.. 2023. 10. 19.
래퍼 클래스, 참조형 변수, 형 변환 래퍼 클래스(Wrapper Class) 변수프로그램에 따라 기본 타입의 데이터를 객체로 취급해야 하는 경우가 있다. 예를 들어, 메소드의 인수로 객체 타입만이 요구되면, 기본 타입의 데이터를 그대로 사용할 수 없기 때문에 객체로 변환해야 한다.래퍼 클래스는 기본 자료타입을 객체로 다루기 위해, 기본형 변수를 인수로 전달 받아 클래스로 랩핑하여 해당 값을 가지는 객체로 만들어 준다.박싱 VS 언박싱박싱 : 기본 타입에서 래퍼 클래스 변수로 변수를 감싸 인스턴스로 변화시키는 것언박싱 : 래퍼 클래스 변수를 기본 타입 변수로 가져오는 것, 객체에서 기본 타입의 데이터를 얻어냄// 박싱// Integer 래퍼 클래스 num 에 21 의 값을 저장int number = 21;Integer num = new Int.. 2023. 10. 17.