전체 글
-
[프로그래머스/JAVA] 귤 고르기Algorithm/Java 2024. 11. 24. 17:08
https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr[ 오답 노트 ]❌ 기존 오답 코드import java.util.*;class Solution { public int solution(int k, int[] tangerine) { // 1 : 1개, 2 : 2개, 3 : 2개, 4 : 1개, 5 : 2개 // k = 6일때 종류의 값을 합한 수가 6이 되어야함 (종류의 개수가 큰 수 부터 하나씩 값 더하기) // (2 : 2개)..
-
[프로그래머스/JAVA] 카드 뭉치Algorithm/Java 2024. 11. 24. 17:08
https://school.programmers.co.kr/learn/courses/30/lessons/159994 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr📌 문제 요약 코니는 두 개의 카드 뭉치를 사용해 원하는 단어 배열(goal)을 만들 수 있는지 확인하려고 합니다. 각 카드 뭉치의 카드는 순서대로만 사용할 수 있고, 한 번 사용한 카드는 다시 사용할 수 없습니다.주어진 카드 뭉치와 단어 배열로 목표 배열을 만들 수 있으면 "Yes", 그렇지 않으면 "No"를 반환해야 합니다.[ 오답 노트 ]❌ 기존 오답 코드class Solution { public String solution(Str..
-
[CS/JAVA] 추상 클래스 / 인터페이스 / 싱글톤 패턴CS/JAVA 2024. 11. 24. 17:08
• 추상 클래스와 인터페이스를 설명해주시고, 차이에 대해 설명해주세요. - 추상 클래스는 클래스 내 추상 메소드가 하나 이상 포함되거나 abstarct로 정의된 경우를 말하고,- 인터페이스는 모든 메소드가 추상 메소드로만 이루어져 있는 것을 말합니다. - 공통점new 연산자로 인스턴스 생성 불가능 합니다. 사용하기 위해서는 하위 클래스에서 확장/구현 해야 합니다. - 차이점인터페이스는 그 인터페이스를 구현하는 모든 클래스에 대해 특정한 메소드가 반드시 존재하도록 강제함에 있고,추상 클래스는 상속받는 클래스들의 공통적인 로직을 추상화시키고, 기능 확장을 위해 사용합니다. 추상 클래스는 다중 상속이 불가능하지만, 인터페이스는 다중 상속이 가능합니다. • 싱글톤 패턴에 대해 설명해주세요. 싱글톤 패..
-
[CS/JAVA] 객체지향 프로그래밍 / try-with-resources / 불변 객체 / 참조 타입 / finalCS/JAVA 2024. 11. 24. 17:08
• 객체지향 프로그래밍(OOP)에 대해 설명해주세요. 우리가 실생활에 쓰는 모든 것을 객체라 하며, 객체지향 프로그래밍은 프로그램 구현에 필요한 객체를 파악하고, 상태와 행위를 가진 객체를 만들고, 각각의 객체들의 역할이 무엇인지를 정의하여, 객체들 간의 상호작용을 통해 프로그램을 만드는 것을 말합니다. 즉, 기능이 아닌 객체가 중심이며, "누가 어떤 일을 할 것인가?" 가 핵심입니다. 특징으로는 상속, 다형성, 캡슐화, 추상화 등이 있고, 모듈 재사용으로 확장 및 유지보수가 용이합니다. • try-with-resources에 대해 설명해주세요. try-with-resources는 try-catch-finally의 문제점을 보완하기 위해 나온 개념입니다. try(...) 안에 자원 객체를 전달하면..
-
[CS/JAVA] Java의 컴파일 과정 / Java의 원시 타입 / 오버라이딩 vs 오버로딩CS/JAVA 2024. 11. 22. 17:04
• Java의 컴파일 과정에 대해 설명해주세요. ➀ 개발자가 .java 파일을 생성합니다. ➁ build를 합니다. ➂ 자바 컴파일러의 javac의 명령어를 통해 바이트 코드(.class)를 생성합니다. ➃ 클래스 로더를 통해 JVM 메모리 내로 로드합니다. ➄ 실행엔진을 통해 컴퓨터가 읽을 수 있는 기계어로 해석됩니다. (각 운영체제에 맞는 기계어) • Java에서 제공하는 원시타입들에 무엇이 있고, 각각 몇 바이트를 차지하나요? 정수형 byte, short, int, long / 실수형 float, double / 문자형 char / 논리형 boolean 이 있고,정수형 1, 2, 4, 8 / 실수형 4, 8 / 문자형 2 / 논리형 1 바이트를 차지합니다. • 오버라이딩(Overridi..
-
[CS/Operating System] 프로세스와 스레드CS/운영체제 2024. 11. 22. 15:36
• 프로세스와 스레드의 차이? - 프로세스 : 메모리 상에서 실행 중인 프로그램 - 스레드 : 프로세스 안에서 실행되는 여러 흐름 단위 (기본적으로 프로세스마다 최소 1개의 스레드(메인 스레드)를 소유) 프로세스는 운영체제로부터 자원을 할당받지만, 스레드는 프로세스로부터 자원을 할당받고 프로세스의 코드/데이터/힙 영역을 공유하기 때문에 좀 더 효율적으로 통신할 수 있습니다. 또한 컨텍스트 스위칭도 캐시 메모리를 비우지 않아도 되는 스레드 쪽이 빠릅니다. 그리고 스레드는 자원 공유로 인해 문제가 발생 할 수 있으니 이를 염두에 둔 프로그래밍을 해야 합니다. (컨텍스트 스위칭 : 한 Task가 끝날 때까지 기다리는 것이 아니라 여러 작업을 번갈아가며 실행해서 동시에 처리될 수 있도록 하는 방법) ..
-
[프로그래머스/JAVA] 시저암호Algorithm/Java 2024. 11. 17. 18:22
https://school.programmers.co.kr/learn/courses/30/lessons/12926# 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr📌 문제 요약 주어진 문자열 s의 각 알파벳을 n만큼 밀어서 암호화하는 문제로, 대문자와 소문자는 각각 순환되며, 공백은 그대로 유지해야 합니다.[ 오답 노트 ]❌ 기존 오답 코드class Solution { public String solution(String s, int n) { String answer = ""; // AB -> BC -> CD -> DE -> EF -> FG // 1 ..
-
[백준/JAVA] 18311번 : 큰 수 구성하기Algorithm/Java 2024. 11. 10. 20:55
https://www.acmicpc.net/problem/18511📌 문제 요약 N보다 작거나 같은 자연수 중에서, 집합 KKK의 원소로만 구성된 가장 큰 수를 찾아야 한다.KKK의 원소는 1부터 9까지의 자연수로 제한된다.항상 NNN보다 작거나 같은 수를 만들 수 있다고 가정한다. [ 오답 노트 ]❌ 기존 오답 코드import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringToke..