본문 바로가기
반응형

전체 글340

[Backjoon] 1550번 문제 - 16진수 16진수 수를 입력받아서 10진수로 출력하는 프로그램을 작성하시오. 풀이 자바에서 제공하는 메소드를 사용하도록 하자Integer 뿐만아니라 Long에서도 사용이 가능하다 1234567891011121314import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); String str = sc.nextLine(); int dec = Integer.parseInt(str, 16); System.out.println(dec); }} Colored by Color Scriptercs 2017. 5. 27.
[Backjoon] 6359번 문제 - 만취한 상범 서강대학교 곤자가 기숙사의 지하에는 n개의 방이 일렬로 늘어선 감옥이 있다. 각 방에는 벌점을 많이 받은 학생들이 구금되어있다.그러던 어느날, 감옥 간수인 상범이는 지루한 나머지 정신나간 게임을 하기로 결정했다. 게임의 첫 번째 라운드에서 상범이는 위스키를 한 잔 들이키고, 달려가며 감옥을 한 개씩 모두 연다. 그 다음 라운드에서는 2, 4, 6, ... 번 방을 다시 잠그고, 세 번째 라운드에서는 3, 6, 9, ... 번 방이 열려있으면 잠그고, 잠겨있다면 연다. 같은 방식으로 n번의 라운드를 진행한 이후, 상범이는 위스키의 마지막 병을 마시고 쓰러져 잠든다.구금되어있는 몇 명(어쩌면 0명)의 학생들은 자신의 방을 잠그지 않은 채 상범이가 쓰러져버렸단 것을 깨닫고 즉시 도망친다.방의 개수가 주어졌을 .. 2017. 5. 27.
[Backjoon] 11399번 문제 - ATM 인하은행에는 ATM이 1대밖에 없다. 지금 이 ATM앞에 N명의 사람들이 줄을 서있다. 사람은 1번부터 N번까지 번호가 매겨져 있으며, i번 사람이 돈을 인출하는데 걸리는 시간은 Pi분이다.사람들이 줄을 서는 순서에 따라서, 돈을 인출하는데 필요한 시간의 합이 달라지게 된다. 예를 들어, 총 5명이 있고, P1 = 3, P2 = 1, P3 = 4, P4 = 3, P5 = 2 인 경우를 생각해보자. [1, 2, 3, 4, 5] 순서로 줄을 선다면, 1번 사람은 3분만에 돈을 뽑을 수 있다. 2번 사람은 1번 사람이 돈을 뽑을 때 까지 기다려야 하기 때문에, 3+1 = 4분이 걸리게 된다. 3번 사람은 1번, 2번 사람이 돈을 뽑을 때까지 기다려야 하기 때문에, 총 3+1+4 = 8분이 필요하게 된다. 4번.. 2017. 5. 26.
[Backjoon] 7567번 문제 - 그릇 그릇을 바닥에 놓았을 때 그 높이는 10cm 이다. 그런데 두 개의 그릇을 같은 방향으로 포개면 그 높이는 5cm만 증가된다. 만일 그릇이 서로 반대방향으로 쌓이면 높이는 그릇만큼, 즉 10cm 늘어난다. 그릇을 괄호 기호로 나타내어 설명해보자. 편의상 그릇이 쌓여지는 방향은 왼쪽에서 오른쪽이라고 가정한다. 그림에서 ‘(’은 그릇이 바닥에 바로 놓인 상태를 나타내며, ‘)’은 그릇이 거꾸로 놓인 상태를 나타낸다.만일 그릇이 포개진 모양이 아래 그림 1(a)와 같다면 전체의 높이는 25cm가 된다. 왜냐하면 처음 바닥에 있는 그릇의 높이가 10cm이고 이후 같은 방향으로 3개의 그릇이 포개져 있으므로 늘어난 높이는 5+5+5=15 이기 때문이다. 그림 1(b)와 같은 경우라면 그 높이는 10*4=40cm가.. 2017. 5. 26.
[Javascript] 함수(function) 함수(function) 자바스크립트에서 함수는 객체이다.그 중에서도 함수는 특히나, 1급 객체(first-class Object)이다. 여러 블로그나 자료들을 보면 함수는 객체이며, 1급 객체이다 라는 말이 많이 등장한다.그렇다면 1급 객체란 무엇일까? 1급 객체를 알아보기전에 먼저 1급 시민(first-class citizen)을 알아야한다.1급 시민의 개념은 영국의 컴퓨터 과학자 크리스토퍼 스트레이치에 의해 1960년대 처음 소개 되었으며, 조건은 다음과 같다. 1) 변수에 담을 수 있다.2) 인자로 전달할 수 있다.3) 반환값으로 돌려 받을 수 있다.4) 할당된 이름과 상관없이 고유한 구별이 가능하다5) 동적으로 프로퍼티 할당이 가능하다. 예를 들어, 대부분의 프로그래밍 언어에서 숫자(Number).. 2017. 5. 26.
[알고리즘] 최소비용신장트리(Minimum Spanning Tree) - 2 최소비용신장트리(Minimum Spanning Tree) - 2 이번 포스팅에서는 전에 언급했던 2가지 알고리즘 중에서 크루스칼의 알고리즘을 살펴 보도록 하자 크루스칼 알고리즘의 순서는 다음과 같다.1. 엣지들을 가중치의 순서대로 정렬한다.2. 엣지들을 그 순서대로 하나씩 선택해간다. 단, 이미 선택한 엣지들과 사이클(Cycle)을 형성하면 선택하지 않는다.3. n-1개의 엣지가 선택되면 종료한다. 앞서 말한 순서대로 MST를 구성한다고 했을 때,위의 그림을 예로 들면, a에서 가중치가 가장 작은 것을 선택하고, b에서는 그 다음 작은 것을 선택한다. 같은값이 있는 경우 아무거나 선택한다.c, d, e도 마찬가지로 가중치가 작은 순서대로 선택하게 된다. f 에서 다음 순서는 6이 되지만 이 엣지를 선택하.. 2017. 5. 25.
[알고리즘] 최소비용신장트리(Minimum Spanning Tree) - 1 최소비용신장트리(Minimum Spanning Tree) - 1 최소 신장트리는 다양한 분야에서 응용되는 가장 기본적인 그래프 문제이다.보통 네트워크(통신, 도로, 가스배관 등) 디자인과 같이 뭉뚱그려서 말하는데연결되어 있으면서 비용이 최소화 된다는 것은 모든 종류의 네트워크에서 요구되어지는 것이기 때문이다.또한 이미지 프로세싱과 같은 분야에서도 이와 같은 알고리즘을 많이 사용된다. 구체적인 예를 들자면, N개의 도시가 있고 도시와 도시를 연결하는 도로의 비용 W가 있다.위의 그래프에서 정점들이 도시들이고 엣지의 weight가 비용이라고 가정한다. 엣지가 없는 경우에는 어떠한 이유로 두 도시를 직접 연결하는 도로를 만드는것이 불가능하거나그 비용이 무한대라고 가정한다. 예산이 충분하다면 모든 도시간의 도로.. 2017. 5. 24.
[Javascript] 자바스크립트의 실행 문맥(Context) 자바스크립트의 실행 문맥(Context) 123456789101112console.log("global context"); function context1(){ console.log("first context");}; function context2(){ context1(); console.log("second context"); }; context2(); cs 자바스크립트는 하나의 콜 스택을 가지며 이 콜 스택에 함수의 호출 정보 등이 쌓인다.콜 스택에 쌓이는 함수의 정보를 실행 문맥(Context)이라고 한다. 자바스크립트의 변수는 함수 단위의 Scope를 가지며, 때문에, 콜 스택에 쌓인 실행 문맥을 기준으로 변수의 스코프가 결정된다. JS파일이 실행되면 가장 먼저 main context가 스택에 .. 2017. 5. 24.
[알고리즘] DAG와 위상 순서 DAG와 위상 순서 DAG(대그)란 Directed Acyclic Graph를 뜻한다.직역하면 '방향성 비 사이클' 그래프이며 방향을 가지되, 루프를 생성하지 않는 그래프를 말한다.여기서 루프, 또는 사이클이란 자기 자신에서 출발해서 다시 자신에게 돌아오는 경로를 말하며비 사이클이므로 이러한 경로가 없어야 한다. 위의 그래프에서 엣지들을 따라 가면 어느 경로에서도 자기 자신으로 돌아올 수 없다. DAG는 중요한 용도를 가지는데,일반적으로 작업의 우선순위를 표현할 때 DAG의 구조를 가지게 된다. 예를 들면, 집을 지을 때 기초공사나 기둥세우기, 인테리어 등을 해야한다.이 때, 기둥을 세우기 전에 인테리어를 할 수 없듯이다른 것 보다 선행 되어야 하는 것들 표현 하기 위해 DAG가 유용하게 사용된다. 만약.. 2017. 5. 24.
반응형