일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 코드업 1020 자바
- 프로그래머스 나누어 떨어지는 숫자 배열 자바
- docker remove
- 청년 AI Big Data 아카데미 13기
- 최단 경로 알고리즘
- 가운데 글자 가져오기 파이썬
- 코드업 1020 java
- 트리의 지름 java
- 핸즈온 머신러닝
- 가운데 글자 가져오기 java
- docker 완전 삭제
- 프로그래머스 가운데 글자 가져오기 파이썬
- 빅데이터분석기사
- 나누어 떨어지는 숫자 배열 java
- docker 삭제
- codeup 1020 자바
- codeup 1020 java
- 청년 Ai Big Data 아카데미
- m1 docker
- 최소 스패닝 트리 자바
- 나누어 떨어지는 숫자 배열 python
- 프로그래머스 나누어 떨어지는 숫자 배열 파이썬
- 최소 스패닝 트리
- 프로그래머스 가운데 글자 가져오기 python
- 트리의 지름 자바
- 빅분기실기
- 가운데 글자 가져오기 python
- 프로그래머스 가운데 글자 가져오기 자바
- m1 docker install
- 가운데 글자 가져오기 자바
- Today
- Total
목록분류 전체보기
반응형
반응형
(479)
NineTwo meet you
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/0j4tN/btqSSds2GDH/Z41AhazzCuO3kbocSq7zb1/img.png)
문제 어느 점에서 출발하여 그래프 상에 있는 모든 간선을 지나되 한번 지난 간선은 다시 지나지 않고 출발점으로 돌아오는 회로를 오일러 회로라 한다. 단, 그래프는 양방향 그래프가 주어진다. 문제는 그래프가 주어졌을 때 오일러 회로 경로를 출력하는 것이다. 입력 첫 줄에는 정점의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 그리고 다음 N개의 줄에 대해 인접 행렬의 정보가 주어진다. i+1번째 줄에는 i번 정점에 대한 인접 행렬이 주어진다. 두 정점 사이에 간선이 여러 개 있을 수 있다. 인접 행렬의 값은 두 정점 사이의 간선 개수를 의미하며, 0보다 크거나 같고, 10보다 작거나 같은 정수이다. 입력으로 주어지는 그래프에는 루프 (양 끝점이 같은 간선)는 없다. 또, 입력으로 주어지는 그래프는 모두 연..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bv6ngQ/btqSKNoIz6I/1A9SA0XkBLCQPPKV9jja50/img.png)
문제 숌 회사에서 이번에 새로운 전략 시뮬레이션 게임 세준 크래프트를 개발하기로 하였다. 핵심적인 부분은 개발이 끝난 상태고, 종족별 균형과 전체 게임 시간 등을 조절하는 부분만 남아 있었다. 게임 플레이에 들어가는 시간은 상황에 따라 다를 수 있기 때문에, 모든 건물을 짓는데 걸리는 최소의 시간을 이용하여 근사하기로 하였다. 물론, 어떤 건물을 짓기 위해서 다른 건물을 먼저 지어야 할 수도 있기 때문에 문제가 단순하지만은 않을 수도 있다. 예를 들면 스타크래프트에서 벙커를 짓기 위해서는 배럭을 먼저 지어야 하기 때문에, 배럭을 먼저 지은 뒤 벙커를 지어야 한다. 여러 개의 건물을 동시에 지을 수 있다. 편의상 자원은 무한히 많이 가지고 있고, 건물을 짓는 명령을 내리기까지는 시간이 걸리지 않는다고 가정..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bbTgaa/btqSXkLBsoU/Ar8RqpGfDEDEn5NXuoruVk/img.png)
문제 서기 2012년! 드디어 2년간 수많은 국민들을 기다리게 한 게임 ACM Craft (Association of Construction Manager Craft)가 발매되었다. 이 게임은 지금까지 나온 게임들과는 다르게 ACM크래프트는 다이내믹한 게임 진행을 위해 건물을 짓는 순서가 정해져 있지 않다. 즉, 첫 번째 게임과 두 번째 게임이 건물을 짓는 순서가 다를 수도 있다. 매 게임시작 시 건물을 짓는 순서가 주어진다. 또한 모든 건물은 각각 건설을 시작하여 완성이 될 때까지 Delay가 존재한다. 위의 예시를 보자. 이번 게임에서는 다음과 같이 건설 순서 규칙이 주어졌다. 1번 건물의 건설이 완료된다면 2번과 3번의 건설을 시작할 수 있다. (동시에 진행이 가능하다) 그리고 4번 건물을 짓기 위..
문제 링크 문제 인터넷 방송 KOI(Korea Open Internet)의 음악 프로그램 PD인 남일이는 자기가 맡은 프로그램 '뮤직 KOI'에서 가수의 출연 순서를 정하는 일을 매우 골치 아파한다. 순서를 정하기 위해서는 많은 조건을 따져야 한다. 그래서 오늘 출연 예정인 여섯 팀의 가수에 대해서 남일이가 보조 PD 세 명에게 각자 담당한 가수의 출연 순서를 정해 오게 하였다. 보조 PD들이 가져온 것은 아래와 같다. 1 4 3 6 2 5 4 2 3 첫 번째 보조 PD는 1번 가수가 먼저, 다음에 4번 가수, 다음에 3번 가수가 출연하기로 순서를 정했다. 두 번째 보조 PD는 6번, 2번, 5번, 4번 순으로 자기 담당 가수들의 순서를 정했다. 한 가수를 여러 보조 PD가 담당할 수도 있다. 마지막으로..
문제 링크 문제 민오는 1번부터 N번까지 총 N개의 문제로 되어 있는 문제집을 풀려고 한다. 문제는 난이도 순서로 출제되어 있다. 즉 1번 문제가 가장 쉬운 문제이고 N번 문제가 가장 어려운 문제가 된다. 어떤 문제부터 풀까 고민하면서 문제를 훑어보던 민오는, 몇몇 문제들 사이에는 '먼저 푸는 것이 좋은 문제'가 있다는 것을 알게 되었다. 예를 들어 1번 문제를 풀고 나면 4번 문제가 쉽게 풀린다거나 하는 식이다. 민오는 다음의 세 가지 조건에 따라 문제를 풀 순서를 정하기로 하였다. N개의 문제는 모두 풀어야 한다. 먼저 푸는 것이 좋은 문제가 있는 문제는, 먼저 푸는 것이 좋은 문제를 반드시 먼저 풀어야 한다. 가능하면 쉬운 문제부터 풀어야 한다. 예를 들어서 네 개의 문제가 있다고 하자. 4번 문제..
문제 링크 문제 N명의 학생들을 키 순서대로 줄을 세우려고 한다. 각 학생의 키를 직접 재서 정렬하면 간단하겠지만, 마땅한 방법이 없어서 두 학생의 키를 비교하는 방법을 사용하기로 하였다. 그나마도 모든 학생들을 다 비교해 본 것이 아니고, 일부 학생들의 키만을 비교해 보았다. 일부 학생들의 키를 비교한 결과가 주어졌을 때, 줄을 세우는 프로그램을 작성하시오. 입력 첫째 줄에 N(1≤N≤32,000), M(1≤M≤100,000)이 주어진다. M은 키를 비교한 회수이다. 다음 M개의 줄에는 키를 비교한 두 학생의 번호 A, B가 주어진다. 이는 학생 A가 학생 B의 앞에 서야 한다는 의미이다. 학생들의 번호는 1번부터 N번이다. 출력 첫째 줄부터 앞에서부터 줄을 세운 결과를 출력한다. 답이 여러 가지인 경..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/32LWq/btqSKNhaITE/U3cx0G5IJiUBM19bp8LOx1/img.gif)
DFS(depth-first search)란? 그래프 이론에서 많이 사용되는 탐색 알고리즘 중 하나다. 현재 정점에서 인접한 간선들을 하나씩 점검하다 아직 방문하지 않은 정점으로 향하는 간선이 있다면 그 간선을 무조건 따라가는 탐색 알고리즘이다. 이전까지 거쳐온 정점을 기억하기 위해서 재귀를 사용한다. 또한 그래프의 모든 정점이 간선을 통해 연결되어 있다는 보장이 없기 때문에 그래프의 전체 구조를 파악하기 위해서 DFS로 풀 수 있는 유명한 문제를 살펴보겠습니다. 위상 정렬(topological sort) 그래프의 순서를 정렬하기 위한 방법이다. 각 정점의 의존 관계를 간선으로 표현한 의존성 그래프(dependency graph)의 순서를 나타내기 위해 사용된다. 이 그래프의 가장 큰 특징은 사이클이 없..
2021/01/02 - [자바] - [Java] 토이 프로젝트 1 : 계산기 만들기 - 후위 표기법 이용 [Java] 토이 프로젝트 1 : 계산기 만들기 - 후위 표기법 이용 Eclipse의 플러그인 windowbuilder를 사용해 계산기를 만들었다. 계산기의 형태는 Google에 계산기를 검색했을때 나오는 다음 그림을 참고했다. 내가 완성한 계산기의 모습은 다음과 같다. 계산기를 구 settembre.tistory.com 에 이어서 예외처리에 대한 포스팅을 한다. 1. AC 처리 if(cur.equals("AC")) { //AllClear this.label.setText("0"); } 2. 첫 입력이 0일 때 else if(this.label.getText().equals("0") && (cur.e..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ApjP4/btqSjBHnAW0/usNQUFk3WkBqH2tHRuebqk/img.png)
Eclipse의 플러그인 windowbuilder를 사용해 계산기를 만들었다. 계산기의 형태는 Google에 계산기를 검색했을 때 나오는 다음 그림을 참고했다. 내가 완성한 계산기의 모습은 다음과 같다. 계산기를 구현했을때 가장 중요하게 생각했던 점은 두 가지다. 1. 연산자의 우선순위 처리 2. 예외처리 이번 포스팅에는 연산자의 우선순위 처리를 기술하겠다. 1. 우선순위 연산자의 우선순위를 계산하기 위해서는 후위 표기법을 사용했다. 중위 표기법 : 연산자가 피연산자 사이에 위치한 표기법 A+B 후기 표기법 : 연산자가 피연산자 뒤에 위치한 표기법 AB+ 후위 표기법을 구현하기 위해는 Stack을 사용했고 연산자 별로 우선순위를 지정했다. 우선순위가 높다는 것은 크다고 표시했다. //연산자 우선순위 //..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bUdPJp/btqRI7uNQXr/Ym8QNSe1WkxhhYbs6mg0W1/img.png)
문제 링크 문제 N×M 크기의 보드와 4개의 버튼으로 이루어진 게임이 있다. 보드는 1 ×1 크기의 정사각형 칸으로 나누어져 있고, 각각의 칸은 비어있거나, 벽이다. 두 개의 빈칸에는 동전이 하나씩 놓여 있고, 두 동전의 위치는 다르다. 버튼은 "왼쪽", "오른쪽", "위", "아래"와 같이 4가지가 있다. 버튼을 누르면 두 동전이 버튼에 쓰여 있는 방향으로 동시에 이동하게 된다. 동전이 이동하려는 칸이 벽이면, 동전은 이동하지 않는다. 동전이 이동하려는 방향에 칸이 없으면 동전은 보드 바깥으로 떨어진다. 그 외의 경우에는 이동하려는 방향으로 한 칸 이동한다. 이동하려는 칸에 동전이 있는 경우에도 한 칸 이동한다. 두 동전 중 하나만 보드에서 떨어뜨리기 위해 버튼을 최소 몇 번 눌러야 하는지 구하는 프로..