![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cM6SnY/btq6htwIN2C/HoyuYdLSMu5xcC1NcqEKN0/img.png)
⊙ 문제 메시지 창을 사용해 두 정수를 덧셈하는 과정을 보여 주는 프로그램을 작성하시오. ※ 메시지 창은 javax.swing.JOptionPane 클래스를 사용하며, 자바 API를 참조한다. ⊙ 문제 접근 과정 swing 클래스를 사용해보자. ⊙ 문제 풀이 import javax.swing.*; public class Main extends JFrame { public static void main(String[] args) { String resultStr1 = null; String resultStr2 = null; JOptionPane input = new JOptionPane(); resultStr1 = JOptionPane.showInputDialog(null,"첫 번째 숫자는?"); resu..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/J3Dd9/btq6hToSful/i6viYozePOcrrF5vy59ohk/img.png)
⊙ 문제 다음과 같은 지뢰 찾기 게임 프로그램을 작성하시오. 실행 결과는 '5 10 0.3'을 명령행 인수로 사용한 예이다. 프로그램은 3개의 명령행 인수(m, n, p)를 받아들이고, m * n 크기의 배열을 생성해 지뢰를 숨긴다. 숨긴 지뢰가 있는 원소는 *로 표시하고 없는 원소는 -로 표시한다. 원소에 지뢰가 있을 확률은 세 번째 명령행 인수인 p이다. 지뢰 숨김 여부를 나타내는 2차원 배열을 출력하고, 지뢰를 숨기지 않은 원소를 -대신에 이웃한 지뢰 개수로 채운 2차원 배열도 함께 출력한다. 이웃한 지뢰는 상하좌우 및 대각선 원소에 숨긴 지뢰를 의미한다. 지뢰 숨긴 지역을 30%로 설정하려면, 난수 발생 정적 함수 Math.random() 값이 0.3보다 적은 원소에 지뢰를 숨긴다. ⊙ 문제 접근..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/b8Au29/btq6gMb9YZl/8sH41N5hT64YGhCbJNcy91/img.png)
⊙ 문제 2개의 1차원 배열에서 내용이 같은지를 조사하는 메서드를 정의하고, 다음 배열을 사용해 테스트하시오. int[] a = {3,2,4,1,5}; int[] b = {3,2,4,1}; int[] c = {3,2,4,1,5}; int[] d = {2,7,1,8,2}; ⊙ 문제 접근 과정 bool equals() 함수를 직접 정의해주었다. ⊙ 문제 풀이 public class Main { public static void main(String[] args) { int[] a = {3,2,4,1,5}; int[] b = {3,2,4,1}; int[] c = {3,2,4,1,5}; int[] d = {2,7,1,8,2}; if(equals(a,b)) { System.out.println("a와 b는 같다...
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/dYnUMl/btq6kGWBOfv/h0mHpGtIawDAltWKcpla6K/img.png)
⊙ 문제 주어진 배열의 원소를 역순으로 변환한 배열을 반환하는 다음 메서드를 작성하시오. public static int[] reverse(int[] org) ⊙ 문제 접근 과정 reverse() 함수를 이용하면 손쉽게 구현할 수 있다. 5개의 int배열로 구현해봤다. ⊙ 문제 풀이 import java.util.Scanner; public class Main { public static void main(String[] args) { int num[] = new int[5]; Scanner in = new Scanner(System.in); System.out.print("역순으로 변환할 배열(5개) : "); for (int i = 0; num.length > i; i++) { num[i] = in...
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cOvnGO/btq6hUTVev0/CO7TTsdpQKNtRoI4ys4F20/img.png)
https://www.acmicpc.net/problem/11725 11725번: 트리의 부모 찾기 루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 그래프 이론 그래프 탐색 트리 너비 우선 탐색 깊이 우선 탐색 ⊙ 문제 접근 과정 단순 트리의 부모만 구하면 되는 문제다. DFS, BFS 두 가지 풀이 방법이 있는데 DFS로 풀어봤다. vector에 값을 대칭으로 입력한다. 그리고 자식노드에 하나씩 방문하여 부모를 지정해주는 로직으로 풀었다. ⊙ 문제 풀이 #include #include using namespace std; #define MAX ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cZUflJ/btq6fOHamhn/rE58BYhblR9qoczUu3QHqk/img.png)
https://www.acmicpc.net/problem/2644 2644번: 촌수계산 사람들은 1, 2, 3, …, n (1≤n≤100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하는 서로 다른 두 사람의 번호가 주어진 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 그래프 이론 그래프 탐색 너비 우선 탐색 깊이 우선 탐색 ⊙ 문제 접근 과정 BFS 문제이다. 시작 값을 bfs() 함수에 넣고 방문할 때마다 값을 하나씩 올려준다. 그리고 마지막에 목표값에 대해 출력하면 된다. ⊙ 문제 풀이 #include #include using namespace std; #define MAX 102..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/DRUch/btq6cT3ewMR/4NgKYf7fk25vdGBrMPjikK/img.png)
https://www.acmicpc.net/problem/7562 7562번: 나이트의 이동 체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 그래프 이론 그래프 탐색 너비 우선 탐색 ⊙ 문제 접근 과정 나이트의 이동 문제다. 체스에서 나이트를 움직이는 방법은 두 칸 전진 후, 전진한 방향에서 오른쪽 혹은 왼쪽 중 한 방향으로 한 칸을 이동할 수 있다. 움직이는 거리를 dx, dy에 저장하여 나이트의 이동과 동일하게 해 주었다. 그리고 목표지점까지 arr 값을 계속해서 갱신해주었..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/dMdcZx/btq6imipMdx/x8hY1VSnLfmpAlm4VI8Km0/img.png)
https://www.acmicpc.net/problem/7569 7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 그래프 이론 그래프 탐색 너비 우선 탐색 ⊙ 문제 접근 과정 https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/beHLQi/btq6f7M9W3I/kfPqTrqnT7H8u3W1lpTktK/img.png)
https://www.acmicpc.net/problem/4963 4963번: 섬의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 그래프 이론 그래프 탐색 너비 우선 탐색 깊이 우선 탐색 ⊙ 문제 접근 과정 다른 bfs와 비슷하지만 이번에는 대각선까지 고려해주어야 한다. 상, 하, 좌, 우, 우상, 우하, 좌하, 좌상. 총 8개의 방향을 탐색해 방문 체크해주었다. 그리고 reset() 함수를 직접 만들어주어 결괏값을 출력하면 계속 리셋해주고 반복해주었다. ⊙ ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/blt57d/btq57GBEV9R/KkRpQg15k4u42MATbUTrYk/img.png)
https://www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 그래프 이론 그래프 탐색 너비 우선 탐색 깊이 우선 탐색 ⊙ 문제 접근 과정 BFS로 접근하여 문제를 풀었다. 1. 값을 입력받으면 대칭적으로 '1' 값 저장 2. 1부터 시작, queue에 '1' 값 넣고 방문 표시, 반복 3. N까지 반복하는데 방문을 안 했다면 count..
- Total
- Today
- Yesterday
- 정렬
- 우종정
- Web
- 구현
- JS
- 자바스크립트
- 쉽게 배우는 자바 프로그래밍
- 정리
- BFS
- OS
- 쉽게배우는자바프로그래밍
- CPP
- 프로그래머스
- py
- 답
- 문자열
- 알고리즘
- Python
- java
- 정답
- 풀이
- 해답
- 파이썬
- 연습문제
- 운영체제
- 자바
- 쉽게배우는
- 그리디
- C++
- 백준
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |