본문 바로가기

전체 글

[백준 13144] List of Unique Numbers cpp https://www.acmicpc.net/problem/13144 13144번: List of Unique Numbers 길이가 N인 수열이 주어질 때, 수열에서 연속한 1개 이상의 수를 뽑았을 때 같은 수가 여러 번 등장하지 않는 경우의 수를 구하는 프로그램을 작성하여라. www.acmicpc.net 문제 길이가 N인 수열이 주어질 때, 수열에서 연속한 1개 이상의 수를 뽑았을 때 같은 수가 여러 번 등장하지 않는 경우의 수를 구하는 프로그램을 작성하여라. 입력 첫 번째 줄에는 수열의 길이 N이 주어진다. (1 ≤ N ≤ 100,000) 두 번째 줄에는 수열을 나타내는 N개의 정수가 주어진다. 수열에 나타나는 수는 모두 1 이상 100,000 이하이다. 출력 조건을 만족하는 경우의 수를 출력한다. 풀.. 더보기
[백준 1296] 팀이름 정하기 c++ https://www.acmicpc.net/problem/1296 1296번: 팀 이름 정하기 연두는 프로그래밍 대회에 나갈 팀 이름을 정하려고 한다. 미신을 믿는 연두는 이환이에게 공식을 하나 받아왔고, 이 공식을 이용해 우승할 확률이 가장 높은 팀 이름을 찾으려고 한다. 이환 www.acmicpc.net 문제 연두는 프로그래밍 대회에 나갈 팀 이름을 정하려고 한다. 미신을 믿는 연두는 이환이에게 공식을 하나 받아왔고, 이 공식을 이용해 우승할 확률이 가장 높은 팀 이름을 찾으려고 한다. 이환이가 만든 공식은 사용하려면 먼저 다음 4가지 변수의 값을 계산해야 한다. L = 연두의 이름과 팀 이름에서 등장하는 L의 개수 O = 연두의 이름과 팀 이름에서 등장하는 O의 개수 V = 연두의 이름과 팀 이름에.. 더보기
[Java Study] - java class(클래스) - 객체,생성자, this 키워드 객체 지향 프로그래밍(OOP , Object - Oriented Programming) 객체 지향 프로그래밍에서는 모든 데이터를 객체(Object)로 취급하며, 이러한 객체가 바로 프로그래밍의 중심이 된다. 객체(object) 란 간단히 이야기하자면 실생활에서 우리가 인식할 수 있는 사물을 지칭하는 데, 상태(state) , 행동(behavior) , 정체성(identity)로 구성 되어 있다. State : 객체의 속성을 표현하고 반영한다. Behavior : 객체의 메서드로 표현 되는데 , 객체들 간의 메시지를 반영한다. Identity : 객체의 고유한 이름을 제공한다. 이를 통해 객체들 간의 상호작용이 가능하다. ex) 이러한 객체의 상태(state) 와 행동(behavior) 그리고 정체성(Id.. 더보기
[백준 14248 ] 점프 점프 java https://www.acmicpc.net/problem/14248 14248번: 점프 점프 첫 번째 줄에는 돌다리의 돌 개수 n이 주어진다.(1≤n≤100,000) 돌의 번호는 왼쪽부터 1번에서 n번이다. 다음 줄에는 그 위치에서 점프할 수 있는 거리 Ai가 주어진다.(1≤Ai≤100,000) 다음 줄에는 출 www.acmicpc.net 문제 영우는 개구리다 개굴개굴개굴 영우는 지금 n개의 돌이 일렬로 놓여있는 돌다리에 있다. 그리고 돌다리의 돌에는 숫자가 하나씩 적혀있다. 영우는 이 숫자가 적혀있는 만큼 왼쪽이나 오른쪽으로 점프할 수 있는데, 이때 돌다리 밖으로 나갈 수는 없다. 영우는 이 돌다리에서 자기가 방문 가능한 돌들의 개수를 알고 싶어한다. 방문 가능하다는 것은 현재위치에서 다른 돌을 적절히.. 더보기
[Java Study] - enum type Enum Type (열거형) 열거형이란 ? 관련된 상수들을 같이 묶어 놓은 special class 이다. JDK 1.5 이후 부터 열거형을 사용 할 수 있었는데, java 에서는 변수 , 메서드, 생성자를 열거형에 추가할 수 있기 때문에 C 나 C++ 보다 더욱 향상된 성능으로 Enum 클래스를 사용할 수 있다. 열거형 정의 enum 열거형이름 { 상수명1, 상수명2 } class 밖에서 선언 enum Color { RED, GREEN, BLUE; } public class Test { public static void main(String[] args) { Color c1 = Color.RED; System.out.println(c1); } } class 안에서 선언 public class Test .. 더보기
[백준 2535] - 아시아 정보올림피아드 java https://www.acmicpc.net/problem/2535 2535번: 아시아 정보올림피아드 첫 번째 줄에는 대회참가 학생 수를 나타내는 N이 주어진다. 단, 3 ≤ N ≤ 100이다. 두 번째 줄부터 N개의 줄에는 각 줄마다 한 학생의 소속 국가 번호, 학생 번호, 그리고 성적이 하나의 빈칸을 사 www.acmicpc.net 문제 최근 아시아 지역의 학생들만 참여하는 정보 올림피아드 대회가 만들어졌다. 이 대회는 온라인으로 치러지기 때문에 각 나라에서 이 대회에 참여하는 학생 수의 제한은 없다. 참여한 학생들의 성적순서대로 세 명에게만 금, 은, 동메달을 수여한다. 단, 동점자는 없다고 가정한다. 그리고 나라별 메달 수는 최대 두 개다. 예를 들어, 대회 결과가 다음의 표와 같이 주어졌다고 하자.. 더보기
[Java Study] - 애노테이션(Annotation) 애노테이션 애노테이션이란? 자바 소스 코드에 추가하여 사용할 수 있는 메터데이터의 일종으로 보통 @ 기호를 앞에 붙여서 사용한다. 주석처럼 프로그래밍 언어에 영향을 미치지 않으며, 유용한 정보를 제공한다 JDK 1.5 버전 이상에서 사용 가능하다. 자바 애노테이션은 클래스 파일에 임베디드되어 컴파일러에 의해 생성된 후 자바 가상머신에 포함되어 작동한다. ※ 메타데이터란? 애플리케이션이 처리해야 할 데이터가 아니라, 컴파일 과정과 실행 과정에서 코드를 어떻게 컴파일하고 처리할 것인지를 알려주는 정보이다. 애노테이션은 다음 세 가지 용도로 사용된다. 컴파일러에게 코드 문법 에러를 체크하도록 정보를 제공 소프트웨어 개발 툴이 빌드나 배치 시 코드를 자동으로 생성할 수 있도록 제공 실행 시(런타임 시) 특정 기.. 더보기
[Java Study] - 멀티 쓰레드(쓰레드 생성과 실행) 자바의 멀티 쓰레드 프로그래밍을 알아보기 전에 프로세스와 쓰레드의 개념을 살펴보면 프로세스 실행 중인 프로그램 즉, 사용자가 작성한 프로그램이 운영체제에 의해 메모리 공간을 할당받아 실행중인 것을 말함 자원(메모리,CPU..etc)과 쓰레드로 구성 멀티 프로세스 여러 개의 CPU를 사용하여 여러 프로세스를 동시에 수행하는 것 쓰레드 프로세스 내에서 실제 작업을 수행 모든 프로세스는 최소한 하나의 쓰레드를 가지고 있다. 멀티 쓰레드 일반적으로 하나의 프로세서는 하나의 스레드를 가지고 작업을 수행한다. 하지만 멀티 스레드는 하나의 프로세스 내에서 둘 이상의 스레드가 동시에 작업을 수행하는 것을 의미한다. 동시성(Concurrency) 과 병렬성(Parallelism) 동시성(Concurrency) 멀티 작업.. 더보기