IT 171

[python] 백준 1024: 수열의 합

https://www.acmicpc.net/problem/1024 [코드]#백준 1024: 수열의 합n,l = map(int,input().split())for i in range(l, 101): x = n/i - (i+1)/2 if int(x) == x: x = int(x) if x + 1 >= 0: for i in range(x+1, x+i+1): print(i, end=" ") breakelse: print(-1) 풀이법: 수학수열의 시작점과 길이를 계산하는 것이 전부이다. 단 브루트 포스 형식으로 전체를 대입할 경우에는 시간 초과가 발생하기 때문에 수열의 시작점의 값이 (위의 코드에서는 변수 x) 정수이면서 0 이상인지를 파악해야 한다. 그리고 조건을 만족하는 수열이 있으면 수열을 출력하고 그렇지..

IT/Algorithm 2025.03.15

[python] 백준 1011: Fly me to the Alpha Centauri

https://www.acmicpc.net/problem/1011  단순한 계산 문제이다.  #백준 1011: Fly me to the Alpha Centaurit = int(input()) #테스트 케이스의 개수for _ in range(t): x, y = map(int, input().split()) distance = y - x count = 0 move = 1 #이동 횟수 move_sum = 0 #이동한 거리 while move_sum distance: #이동한 거리가 총 거리보다 작다면 count += 1 #이동 횟수 증가 move_sum += move #이동한 거리 증가 if count % 2 == 0: #이동 횟수가 2의 배수일 때 move += 1 #이동 거리 증가 print(count)..

IT/Algorithm 2025.03.15

[python] 백준 1019 : 책 페이지

https://www.acmicpc.net/problem/1019 백준의 1019번 문제인, 책 페이지이다. 다이나믹 프로그래밍을 통해 접근하면 어렵지 않게 풀 수 있다. [전체 코드]#백준 1019: 책 페이지n = int(input())num = [0] * 10start = 1end = nfactor = 1#start가 end보다 작거나 같을 때까지 반복while start end: #start가 end보다 작거나 같을 때까지 반복 while start % 10 != 0 and start end: #start가 10으로 나누어 떨어지지 않고 start가 end보다 작거나 같을 때까지 반복 for i in str(start): #start 값 str으로 변환 후 대입 num[int(i)] += fa..

IT/Algorithm 2025.03.14

[정보처리기사] mac,dac,rbac의 특징

MAC (Mandatory Access Control), DAC (Discretionary Access Control), RBAC (Role-Based Access Control)은 모두 접근 제어 방식으로, 각각의 차이점은 다음과 같다.MAC (Mandatory Access Control, 강제 접근 제어)정의: 시스템 관리자 또는 보안 정책에 따라 자원에 대한 접근 권한을 설정하는 방식이다.특징: 사용자가 자신의 자원에 대해 접근 권한을 설정할 수 없으며, 모든 접근 권한은 중앙 관리자나 시스템에 의해 통제된다.사용 사례: 군사 및 정부 기관과 같이 높은 수준의 보안이 요구되는 환경.장점: 보안이 엄격하게 유지되며, 데이터 유출이나 접근 권한 남용을 방지할 수 있다.단점: 유연성이 부족하고, 관리가 ..

IT/Computer Science 2024.07.05

[정보처리기사] 라우팅 프로토콜(IGP,RIP,OSPF,BGP)

라우팅 프로토콜은 네트워크 상에서 패킷이 목적지까지 도달하는 최적의 경로를 결정하는 데 사용된다. 라우팅 프로토콜은 크게 정적 라우팅 프로토콜과 동적 라우팅 프로토콜로 분류된다. 정보처리기사 시험에서는 동적 라우팅 프로토콜이 더 중요하다.동적 라우팅 프로토콜은 IGP와 EGP로 나뉜다.IGP는 내부 라우팅 프로토콜을 의미하며, RIP와 OSPF로 나뉜다. RIP는 거리 벡터 라우팅 프로토콜로 홉 수를 중요시한다. OSPF는 링크 상태 라우팅 프로토콜로 경로의 상태를 종합적으로 평가하여 최적의 경로를 결정한다.EGP는 외부 라우팅 프로토콜을 의미하며, BGP가 대표적이다. BGP는 주로 자율 시스템 간의 경로를 결정하는 데 사용된다. BGP는 외부 네트워크 간의 경로 정보를 교환하여 최적의 경로를 설정한다..

IT/Computer Science 2024.07.03

[정보처리기사] 데이터 교환 방식(전용회선, 메세지교환, 패킷교환, 데이터그램, 가상회선)

데이터 교환 방식데이터 교환 방식에는 전용회선, 메시지 교환, 패킷 교환, 데이터그램, 가상 회선 등이 있다. 각 방식의 특징과 작동 원리에 대해 알아보자.전용회선 (Circuit Switching)전용회선 방식은 두 통신 장치가 통신을 시작하기 전에 고정된 경로를 설정하고, 통신이 끝날 때까지 그 경로를 유지하는 방식이다. 전화망에서 많이 사용된다.특징: 연결 설정 시 경로가 고정된다. 통신 품질이 일정하며, 실시간 통신에 적합하다.장점: 일정한 대역폭과 지연 시간이 보장된다.단점: 회선이 비효율적으로 사용될 수 있다. 통신 중간에 경로 변경이 어렵다.메시지 교환 (Message Switching)메시지 교환 방식은 데이터를 전체 메시지 단위로 전송하는 방식이다. 각 메시지는 목적지까지 독립적으로 전달..

IT/Computer Science 2024.07.01

[정보처리기사] DAS/NAS/SAN 개념 정리

DAS (Direct Attached Storage)DAS는 서버에 직접 연결된 저장 장치를 의미한다. 서버 내부에 장착된 하드 디스크 드라이브(HDD)나 SSD 같은 형태로 존재할 수 있다.연결 방식: SCSI, SATA, SAS 인터페이스를 사용해서 서버에 직접 연결된다.용도: 개별 서버의 저장 공간을 확장하는 용도로 사용된다.장점: 설치와 관리가 비교적 간단하고, 데이터 전송 속도가 빠르다.단점: 확장성과 유연성이 낮고, 다른 서버와 데이터 공유가 어렵다.NAS (Network Attached Storage)NAS는 네트워크를 통해 데이터 저장 장치를 여러 서버가 공유할 수 있도록 하는 시스템이다. NAS는 전용 파일 서버 형태로 존재하며, 파일 기반의 데이터 접근을 지원한다.연결 방식: 이더넷 네..

IT/Computer Science 2024.06.30

[객체지향프로그래밍] java의 Getter, setter에 대하여

Java에서 getter와 setter는 객체의 캡슐화(encapsulation)를 지원하는 중요한 메서드이다. 이 메서드들은 클래스의 멤버 변수를 외부에서 직접 접근하지 못하도록 보호하고, 대신 간접적으로 접근하고 수정할 수 있는 방법을 제공한다. getter와 setter의 주요 목적은 데이터의 무결성을 유지하면서 접근을 제어하는 것이다.Getter와 Setter의 개념Getter 메서드: 클래스의 멤버 변수 값을 반환하는 메서드이다. 일반적으로 get이라는 접두사와 함께 변수의 이름을 사용하여 메서드를 정의한다.Setter 메서드: 클래스의 멤버 변수 값을 설정하는 메서드이다. 일반적으로 set이라는 접두사와 함께 변수의 이름을 사용하여 메서드를 정의한다.[예제] public class Person..

IT/Computer Science 2024.06.14

[객체지향프로그래밍] static 멤버 안에서 this 변수를 사용할 수 없는 이유

static 멤버 안에서 this 키워드를 사용할 수 없는 이유는 static 멤버가 클래스 수준에서 존재하기 때문이다. 좀 더 구체적으로 설명하면 다음과 같다. 클래스 수준에서 접근:static 멤버(변수와 메서드)는 클래스 자체에 속하며, 특정 인스턴스에 속하지 않는다. 따라서 클래스가 로드될 때 메모리에 할당되며, 프로그램이 종료될 때까지 유지된다.반면, non-static 멤버는 특정 인스턴스에 속하며, 인스턴스가 생성될 때 메모리에 할당되고 인스턴스가 소멸될 때 메모리에서 해제된다.this 키워드의 의미:this 키워드는 현재 인스턴스를 가리킨다. 이는 non-static 멤버 함수나 생성자 내에서 현재 객체를 참조할 때 사용된다.static 메서드나 변수는 특정 인스턴스가 아닌 클래스 자체에 ..

IT/Computer Science 2024.06.13

[객체지향프로그래밍] static 변수에 대하여(non-static 변수와 어떻게 다를까?)

객체지향프로그래밍에서 static 변수와 non-static 변수는 중요한 개념이다. 두 가지는 사용 방법과 동작이 다르다.static 변수는 클래스에 속하며 클래스의 모든 인스턴스가 공유하는 변수다. static 변수는 클래스 수준에서 선언되고 클래스가 로드될 때 초기화되며 프로그램이 종료될 때까지 존재한다. 클래스의 모든 인스턴스가 동일한 static 변수를 공유하며, static 변수의 값을 변경하면 그 변경 사항이 클래스의 모든 인스턴스에 반영된다. static 변수는 한 번만 메모리에 할당되므로 메모리 사용량을 줄일 수 있다. static 변수는 클래스명.변수명 형식으로 접근하며 객체를 생성하지 않고도 접근할 수 있다.non-static 변수는 인스턴스 변수로, 각 인스턴스마다 별도로 존재하는 ..

IT/Computer Science 2024.06.12
반응형