전체 글 66

[Python] 백준 10775 공항

문제오늘은 신승원의 생일이다.박승원은 생일을 맞아 신승원에게 인천국제공항을 선물로 줬다.공항에는 G개의 게이트가 있으며 각각은 1에서 G까지의 번호를 가지고 있다.공항에는 P개의 비행기가 순서대로 도착할 예정이며, 당신은 i번째 비행기를 1번부터 gi (1 ≤ gi ≤ G) 번째 게이트중 하나에 영구적으로 도킹하려 한다. 비행기가 어느 게이트에도 도킹할 수 없다면 공항이 폐쇄되고, 이후 어떤 비행기도 도착할 수 없다.신승원은 가장 많은 비행기를 공항에 도킹시켜서 박승원을 행복하게 하고 싶어한다. 승원이는 비행기를 최대 몇 대 도킹시킬 수 있는가?https://www.acmicpc.net/problem/10775     난이도골드 2     내 코드import sysdef find(x) : if pa..

백준풀이 2024.10.01

[JAVA] 메소드 오버라이딩

메소드 오버라이딩 ( Method Overridings ): 부모 클래스에서 정의된 메소드를 자식 클래스에서 재정의하여 사용하는 것오버라이딩은 다형성을 구현하는 중요한 방법 중 하나자식 클래스에서 부모 클래스의 메소드를 그대로 사용하는 대신 해당 메소드의 기능을 자식 클래스에 맞게 재정의하는 경우에 사용      오버라이딩과 오버로딩의 차이점오버로딩 : 같은 클래스 내에서 메소드 이름은 같지만 매개변수의 개수나 타입이 다른 여러 메소드를 정의하는 것오버라이딩 : 상속받은 메소드를 자식 클래스에서 재정의 하는 것      자바에서 오버라이딩이 존재하는 이유1.  다형성 구현다형성 : 같은 인터페이스나 상위 클래스의 메소드가 여러 형태로 동작할 수 있도록 하는 객체 지향 프로그래밍의 중요한 개념오버라이딩을 ..

JAVA/기초공부 2024.10.01

[Python] 백준 2616 소형기관차

문제기차는 맨 앞에 있는 기관차 1대가 손님이 탄 객차 여러 칸을 끌고 간다. 기관차가 고장나면 기차를 운행할 수 없게 되므로 최근 철도청은 기관차 고장에 대비하여 몇몇 역에 소형 기관차 3대를 배치하기로 결정하였다. 소형 기관차는 평소에 이용하는 기관차보다 훨씬 적은 수의 객차만을 끌 수 있다.기관차가 고장났을 때 끌고 가던 객차 모두를 소형 기관차 3대가 나누어 끌 수 없기 때문에, 소형 기관차들이 어떤 객차들을 끌고 가는 것이 좋을까하는 문제를 고민하다가 다음과 같이 하기로 결정하였다.소형 기관차가 최대로 끌 수 있는 객차의 수를 미리 정해 놓고, 그보다 많은 수의 객차를 절대로 끌게 하지 않는다. 3대의 소형 기관차가 최대로 끌 수 있는 객차의 수는 서로 같다.소형 기관차 3대를 이용하여 최대한 ..

백준풀이 2024.10.01

[Python] 백준 9527 1의 개수 세기

문제두 자연수 A, B가 주어졌을 때, A ≤ x ≤ B를 만족하는 모든 x에 대해 x를 이진수로 표현했을 때 1의 개수의 합을 구하는 프로그램을 작성하시오.즉, f(x) = x를 이진수로 표현 했을 때 1의 개수라고 정의하고, 아래 식의 결과를 구하자. ∑x=ABf(x)\[\sum_{x=A}^{B}{f(x)}\]     난이도골드2     내 코드import sys## 1에서 n까지의 1의 갯수 구하는 함수def hap_1_n(n) : cnt = 0 x = 1 nextX = 2 while True : if x > b : break cnt += (n // nextX) * x if (n % nextX) >= x : ..

백준풀이 2024.10.01

[JAVA] 클래스 상속

자바에서 클래스 상속이란?: 새로운 클래스를 정의할 때 기존에 정의된 클래스가 갖는 속성과 메소드를 모두 물려받고 자신의 속성과 메소드를 추가로 갖는 것상속은 객체지향 프로그래밍의 가장 큰 특징이다.상속을 사용하면 재사용성과 확장성을 높일 수 있다.재사용성 : 이미 정의된 클래스의 코드를 다시 작성할 필요 없이 자식 클래스에서 사용할 수 있게 해준다. 코드의 중복을 줄이고, 기존 코드를 재활용할 수 있다.확장성 : 기존 클래스를 확장하여 새로운 기능을 추가하거나, 기존기능을 변경하는 것이 매우 쉽다.    클래스의 계층 구조슈퍼클래스 : 상위의 현존하는 클래스파생클래스 or 서브 클래스 : 속성과 메소드를 물려받아 새로 정의한 하위의 클래스 자바언어에서 최상위에 Object 클래스를 갖으며 이 클래스가 ..

카테고리 없음 2024.09.30

[CS] 컴퓨터 구조의 큰 그림

컴퓨터가 이해하는 정보컴퓨터는 자바, C++, 파이썬과 같은 프로그래밍 언어를 직접 이해하지 못한다.컴퓨터가 이해할 수 있는 정보는 데이터와 명령어이다.명령어는 수행할 동작과 수행할 대상으로 이루어져있다.이 명령어를 실행하는 주체가 CPU이다. (명령어 사이클에 따라 처리)      컴퓨터의 핵심 부품CPU(중앙처리장치)메모리(주기억장치) + 캐시 메모리보조기억장치입출력장치      CPU (Central Processing Unit): 정보를 읽어들이고, 해석하고, 실행하는 부품사람으로 치면 두뇌에 해당하는 부품CPU의 주요 구성 요소, 빠른 명령어 처리를 위한 기술을 학습하는 것이 좋다.산술논리연산장치(ALU, Arithmetic and Logic Unit) : 연산을 수행할 회로로 구성되어있는 일종..

CS공부 2024.09.30

[Pypy] 백준 20303 할로윈의 양아치

문제Trick or Treat!!10월 31일 할로윈의 밤에는 거리의 여기저기서 아이들이 친구들과 모여 사탕을 받기 위해 돌아다닌다. 올해 할로윈에도 어김없이 많은 아이가 할로윈을 즐겼지만 단 한 사람, 일찍부터 잠에 빠진 스브러스는 할로윈 밤을 즐길 수가 없었다. 뒤늦게 일어나 사탕을 얻기 위해 혼자 돌아다녀 보지만 이미 사탕은 바닥나 하나도 얻을 수 없었다.단단히 화가 난 스브러스는 거리를 돌아다니며 다른 아이들의 사탕을 빼앗기로 마음을 먹는다. 다른 아이들보다 몸집이 큰 스브러스에게 사탕을 빼앗는 건 어렵지 않다. 또한, 스브러스는 매우 공평한 사람이기 때문에 한 아이의 사탕을 뺏으면 그 아이 친구들의 사탕도 모조리 뺏어버린다. (친구의 친구는 친구다?!)사탕을 빼앗긴 아이들은 거리에 주저앉아 울고..

백준풀이 2024.09.30

[JAVA] 패키지

패키지란?: 자바언어에서 제공되는 여러 클래스 또는 인터페이스들의 특성을 고려하여 분류해 놓은 것   패키지 사용 시 장점클래스의 이름이나 메소드 이름이 같으면 충돌이 발생하는데 패키지 단위로 구분해놓으면 충돌을 방지할 수 있다.패키지 단위로 클래스, 메소드, 변수 등의 접근을 제한할 수 있다.동일한 특성과 성격을 기준으로 클래스들을 분류하면 클래스의 사용과 관리가 용이하다.    패키지 사용방법패키지 선언package OOP.com.info.dept;-> 클래스나 인터페이스의 첫 번째 줄에 package 키워드를 사용해 해당 파일이 어떤 패키지에 속하는지 선언한다. 패키지 임포트import java.util.ArrayList;import java.util.*; // 패키지 내의 모든 클래스 import..

JAVA/기초공부 2024.09.29

[JAVA] String 클래스

자바에서 String 클래스란?: 자바에서 문자열을 다루기 위해 제공되는 대표적인 클래스문자열은 char의 배열로 구성된 데이터 타입이며 자바에서는 String 클래스가 이러한 문자열을 처리하고 관리하는 역할을 한다.   String 클래스 주요 특징1. 불변성String 객체는 한 번 생성되면 그 값을 변경할 수 없다. 문자열을 수정하는 경우 새로운 String 객체가 생성되고 원래의 문자열은 변경되지 않는다. -> 멀티스레드 환경에서 안전하게 사용할 수 있다. (상태 변화가 없기 때문에 동기화 불필요, 공유 객체를 안전하게 재사용, 데이터 일관성 보장) 2. 리터럴로 선언 가능String str = "Hello"; 처럼 문자열 리터럴을 이용해 선언할 수 있다. 자바는 동일한 리터럴 값을 가진 문자열을..

JAVA/기초공부 2024.09.29

[Python] 백준 1461 도서관

문제세준이는 도서관에서 일한다. 도서관의 개방시간이 끝나서 세준이는 사람들이 마구 놓은 책을 다시 가져다 놓아야 한다. 세준이는 현재 0에 있고, 사람들이 마구 놓은 책도 전부 0에 있다. 각 책들의 원래 위치가 주어질 때, 책을 모두 제자리에 놔둘 때 드는 최소 걸음 수를 계산하는 프로그램을 작성하시오. 세준이는 한 걸음에 좌표 1칸씩 가며, 책의 원래 위치는 정수 좌표이다. 책을 모두 제자리에 놔둔 후에는 다시 0으로 돌아올 필요는 없다. 그리고 세준이는 한 번에 최대 M권의 책을 들 수 있다.https://www.acmicpc.net/problem/1461       난이도골드4      내 코드import sysn, m = map(int,sys.stdin.readline().split())book..

백준풀이 2024.09.28