Java
-
-
Java와 객체지향Java/이론&문법 2023. 10. 28. 19:56
🐟 클래스와 객체 : 정말 붕어빵틀과 붕어빵인가? 클래스 : 분류에 대한 개념이지 실체가 아니다. 같은 특성을 지닌 여러 객체를 총칭하는 집합의 개념이다. 객체 : 실체이고, 세상에 존재하는 유일무이한 사물이다. 클래스 - 객체의 관계는 분류와 사물의 관계로 봐야 한다. EX ) 펭귄(클래스) - 뽀로로(객체), 쥐(클래스) - 미키마우스(객체) 이런 느낌이다. 객체 지향의 4대 특성 🎨 추상화 : 모델링 구체적인 것을 분해해서 관심영역(만들려고 하는 어플리케이션이 어디에 사용되는지)에 대한 특성만을 가지고 재조합하는 것이다. 실제 사물을 정확히 복제하는 것이 아닌, (ex. 사람의 모든 특성을 다 나열할 수는 없다) 목적에 맞게 관심이 있는 특성만을 추출해서 표현하고, 실제 사물을 단순하게 묘사하는 것..
-
프로그래머스 - 숫자 변환하기, 택배 배달과 수거하기, 백준 16918Java/코딩테스트 2023. 10. 28. 02:45
🔢 프로그래머스 : 숫자 변환하기 https://school.programmers.co.kr/learn/courses/30/lessons/154538 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 자연수 x를 y로 변환하려고 합니다. 사용할 수 있는 연산은 다음과 같습니다. x에 n을 더합니다 x에 2를 곱합니다. x에 3을 곱합니다. 자연수 x, y, n이 매개변수로 주어질 때, x를 y로 변환하기 위해 필요한 최소 연산 횟수를 return하도록 solution 함수를 완성해주세요. 이때 x를 y로 만들 수 없다면 -1을 return 해주세요. 🔢 이 ..
-
프로그래머스 - 입국심사, 징검다리Java/코딩테스트 2023. 10. 24. 01:34
이 2가지 문제는 모두 고득점 kit ~ 이진 탐색 카테고리에 있는 문제이다. 이진탐색 문제를 잘 안 풀었던 것 같아서 낯설어서(...) 알고리즘 이론 먼저 정리하려 한다. 💎 이진탐색이란? 찾고자 하는 정답이 포함된 범위 중 가운데를 검사하고, 정답과 비교하여 절반의 범위를 제외한다. 탐색할 대상은(배열이나 리스트) 순차적으로 정렬되어 있어야 한다. 시간복잡도는 O(logN)으로, 탐색하려는 대상이 클 수록 선형 탐색보다 성능이 좋아진다. 마지막 남은 원소가 반드시 정답은 아닐수도 있으므로 원소 하나 남았을 때 정답 만족 여부도 검사해야 함 ex) 배열에서 10 이상의 값 중 가장 작은 값 찾기 ~ 배열 자체에 다 10 안넘는 애들만 있을수도 있으므로! Parametric Search ~ 정답 조건을 ..
-
프로그래머스 - 호텔 대실, 뒤에 있는 큰 수 찾기, 주차 요금 계산Java/코딩테스트 2023. 10. 22. 01:58
🏨 프로그래머스 : 호텔 대실 https://school.programmers.co.kr/learn/courses/30/lessons/155651 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🏨 우선 순위 큐 2개를 가지고 푸는 문제로, 백준 11000 - 강의실 배정 문제와 유사하다고 느꼈다. 🏨 최소한의 객실만을 사용, 한 번 사용한 객실은 퇴실 시간을 기준으로 10분간 청소 필요 🏨 Room 클래스 : 들어온 시간, 나간 시간 계산하기 처음에는 들어온 / 나간 시간 + 분을 다 해서 4개로 구성했는데, 그냥 처음부터 분으로 계산해서 비교하면 한 ..
-
백준 23288Java/코딩테스트 2023. 10. 13. 20:04
🎲 백준 23288 주사위 굴리기 2 https://www.acmicpc.net/problem/23288 23288번: 주사위 굴리기 2 크기가 N×M인 지도가 존재한다. 지도의 오른쪽은 동쪽, 위쪽은 북쪽이다. 지도의 좌표는 (r, c)로 나타내며, r는 북쪽으로부터 떨어진 칸의 개수, c는 서쪽으로부터 떨어진 칸의 개수이다. 가장 왼 www.acmicpc.net 🎲 어릴때부터 이런 입체도형 계산하는 문제를 유구하게 못했는데 ..주사위 돌아가는거 생각하는게 헷갈렸다ㅎ 🎲 주사위 돌아가는 부분을 이 블로그를 보고 힌트를 얻었다. 🎲 주사위 🎲 주사위 자체를 현재 방향에 따라 위 이미지처럼 계속 돌려가면서, 아랫면 (dice[3][1]) 만 점수 비교하는데 쓰면 된다. 🎲 자료구조 private stati..
-
백준 20055Java/코딩테스트 2023. 10. 13. 19:36
🤖 백준 20055 : 컨베이어 벨트 위의 로봇 https://www.acmicpc.net/problem/20055 20055번: 컨베이어 벨트 위의 로봇 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부 www.acmicpc.net 🤖 쉬웠는데, 딱 한 조건 빼먹어서 고생한 문제...부들부들... 🤖 나는 컨베이어벨트가 두 줄이고, 첫 줄의 마지막 원소를 두 번째 줄의 마지막에, 두 번째 줄의 첫 원소를 첫 줄의 맨 앞에 넣는 것을 보고 LinkedList를 사용하면 되겠다고 생각했다. 🤖 그리고 문제 조건에서 보면 알겠지만, 결국 로봇은 첫 줄에서만 움직..
-
백준 19237Java/코딩테스트 2023. 10. 12. 23:54
🦈 백준 19237 : 어른 상어 https://www.acmicpc.net/problem/19237 19237번: 어른 상어 첫 줄에는 N, M, k가 주어진다. (2 ≤ N ≤ 20, 2 ≤ M ≤ N2, 1 ≤ k ≤ 1,000) 그 다음 줄부터 N개의 줄에 걸쳐 격자의 모습이 주어진다. 0은 빈칸이고, 0이 아닌 수 x는 x번 상어가 들어있는 칸을 의미 www.acmicpc.net 🦈 생각보다 괜찮게 풀었던 문제. 마법사 상어와 복제마법 문제와 로직이 어느정도 겹치는 느낌이 있다. (냄새 배열을 3차원으로 만드는 것 등) 🦈 Static 변수들 // 상 : 0, 하 : 1, 좌 : 2, 우 : 3 private static int[] dirX = { -1, 1, 0, 0 }; // 상하좌우 순 p..