profile
어려운 문제를 어렵지 않게.
post-thumbnail

BOJ 1759. 암호 만들기

바로 어제 최백준 조교가 방 열쇠를 주머니에 넣은 채 깜빡하고 서울로 가 버리는 황당한 상황에 직면한 조교들은, 702호에 새로운 보안 시스템을 설치하기로 하였다. 이 보안 시스템은 열쇠가 아닌 암호로 동작하게 되어 있는 시스템이다.암호는 서로 다른 L개의 알파벳 소문

약 4시간 전
·
0개의 댓글
post-thumbnail

BOJ 9095. 1, 2, 3 더하기

정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 7가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다.1+1+1+11+1+21+2+12+1+12+21+33+1정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법의 수를 구하는 프로그램을 작

약 10시간 전
·
0개의 댓글
post-thumbnail

BOJ 1748. 수 이어 쓰기 1

1부터 N까지의 수를 이어서 쓰면 다음과 같이 새로운 하나의 수를 얻을 수 있다.1234567891011121314151617181920212223...이렇게 만들어진 새로운 수는 몇 자리 수일까? 이 수의 자릿수를 구하는 프로그램을 작성하시오.• N이 너무 크기 때문

약 12시간 전
·
0개의 댓글
post-thumbnail

BOJ 6064. 카잉 달력

최근에 ICPC 탐사대는 남아메리카의 잉카 제국이 놀라운 문명을 지닌 카잉 제국을 토대로 하여 세워졌다는 사실을 발견했다. 카잉 제국의 백성들은 특이한 달력을 사용한 것으로 알려져 있다. 그들은 M과 N보다 작거나 같은 두 개의 자연수 x, y를 가지고 각 년도를 &l

약 12시간 전
·
0개의 댓글
post-thumbnail

BOJ 14500. 테트로미노

문제링크 : https://www.acmicpc.net/problem/14500폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다.정사각형은 서로 겹치면 안 된다.도형은 모두 연결되어 있어야 한다.정사각형의

어제
·
0개의 댓글
post-thumbnail

BOJ 2667. 단지번호붙이기

<그림 1>과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집들의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집

2일 전
·
0개의 댓글
post-thumbnail

연결 요소(Connected Component)

그래프 중에서는 위 그림과 같이 여러 개로 나누어져 있을 수도 있다. 위 그림을 보고 두 개의 그래프라고 볼 수도 있지만, 하나의 그래프에 두 개의 연결 요소를 가진다고 볼 수도 있다. 그 이유는 정점 사이에 겹치는 것이 없기 때문이다. 연결 요소로 본다면, 나누어진

2일 전
·
0개의 댓글
post-thumbnail

너비 우선 탐색(BFS)

너비 우선 탐색(breadth-first search, BFS)는 시작점에서 가까운 정점부터 순서대로 방문하는 탐색 알고리즘이다. 가까운 정점을 모두 저장해놓고 순서대로 방문해야 하므로, 스택 구조로는 구현이 어렵다. 따라서 큐(Queue) 자료구조를 사용한다. BFS

2일 전
·
0개의 댓글
post-thumbnail

깊이 우선 탐색(DFS)

트리의 순회와 같이 그래프의 모든 정점들을 특정한 순서에 따라 방문하느 알고리즘을 그래프의 탐색(search) 알고리즘이라고 한다. 트리와는 달리, 그래프에서는 탐색 과정에서 얻어지는 정보가 매우 중요하다. 탐색 과정에서 어떤 간선이 사용되었는지, 또 어떤 순서로 정점

2일 전
·
0개의 댓글
post-thumbnail

그래프(Graph)

그래프(Graph)는 현실 세계의 사물이나 추상적인 개념 간의 연결 관계를 표현하는 자료구조이다. 여러 도시들을 연결하는 도로망, 사람들 간의 관계, 웹 사이트 간의 링크 관계 등이 그러한 연결 구조이다. 그래프는 계층 구조인 트리와는 다르게 부모 자식 관계에 관한 제

2일 전
·
0개의 댓글
post-thumbnail

BOJ 1107. 리모컨

문제링크 : https://www.acmicpc.net/problem/1107수빈이는 TV를 보고 있다. 수빈이는 채널을 돌리려고 했지만, 버튼을 너무 세게 누르는 바람에, 일부 숫자 버튼이 고장났다.리모컨에는 버튼이 0부터 9까지 숫자, + 와 - 가 있다.

3일 전
·
0개의 댓글
post-thumbnail

BOJ 1476. 날짜 계산

문제링크 : https://www.acmicpc.net/problem/1476준규가 사는 나라는 우리가 사용하는 연도와 다른 방식을 이용한다. 준규가 사는 나라에서는 수 3개를 이용해서 연도를 나타낸다. 각각의 수는 지구, 태양, 그리고 달을 나타낸다.지구를

3일 전
·
0개의 댓글
post-thumbnail

브루트 포스(무식하게 풀기)

브루트 포스는 모든 경우의 수를 다 해보는 것이다. 실제로 사람이 모든 케이스를 일일이 계산해보는 것은 바람직한 방법은 아니다. 그리고 그렇게 하다보면 실수를 하기 마련이다. 마치 고등학교 때 수능시험에서의 노가다 와 같다. 하지만 전산학에서는 엄연히 하나의 알고리즘으

3일 전
·
0개의 댓글
post-thumbnail

BOJ 9012. 괄호

문제링크 : https://www.acmicpc.net/problem/9012괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바

5일 전
·
0개의 댓글
post-thumbnail

스택(Stack) 자료구조

스택(Stack) 자료구조 스택은 흔히 프링글스에 비유가 된다. 프링글스 통 안에 감자칩이 쌓여있지만 우리는 가장 위에 있는 감자칩부터 꺼내는 수 밖에 없다. 즉, 마지막으로 넣은 것이 (맨위에 있으므로) 가장 먼저 나오는 Last In First Out(LIFO) 구

5일 전
·
0개의 댓글
post-thumbnail

JAVA의 오버라이딩(Override)

Override는 '기각하다', '무시하다'의 뜻을 담고있다. 즉, '기존의 것을 무시하고 덮어쓰다.'의 의미를 가진다. 자바에서 메소드 오버라이딩이란, 상속의 관계에 있는 클래스 간에 하위 클래스가 상위 클래스와 '완전 동일한 메소드'를 덮어쓴다는 의미이다. 여기서

2020년 3월 24일
·
0개의 댓글
post-thumbnail

JAVA에서 클래스 상속

상속은 클래스를 재활용하는데에 그 목적이 있다고 보기 힘들다. 현실적으로 재활용을 고려해서 클래스를 디자인하는 것이 새로운 클래스를 디자인하는 것보다 몇 배나 더 큰 노력과 시간이 들기 때문이다. 그렇다면 JAVA에서 상속은 왜 중요하며 그 목적은 무엇일까?상속을 통해

2020년 3월 24일
·
0개의 댓글
post-thumbnail

JAVA의 오버로딩(Overload)

자바와 같이 클래스를 구현하는 언어에서는 한 클래스 내에서 같은 이름의 메소드 정의를 피하기 어려운 경우가 있다. 가령, 덧셈을 하기 위한 메소드를 구현한다고 생각해보면, add(int n1, int n2)처럼 매개변수 2개를 갖는 메소드와 add(int n1, int

2020년 3월 22일
·
0개의 댓글