![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/Icn3z/btq5t1H3eWB/kY3jJNrcCAXAR67OvA8jb1/img.png)
⊙ 문제 다음 문자열로 구성된 배열과 생성된 파일의 내용을 참고해 매 행마다 문자열의 첫 문자, 콜론, 문자열로 구성된 파일을 생성하는 프로그램을 작성하시오. PrintStream의 printf()와 println() 메서드를 사용할 수 있다. ⊙ 문제 접근 과정 PrintStream은 우리가 평소에 쓰던 printf() 등의 출력문이다. 그냥 출력하기만 하면 된다. ⊙ 문제 풀이 public class Main { public static void main(String[] args) { String[] animals = {"ant", "bat", "cat", "dog"}; for (String s : animals) System.out.println(s.charAt(0) + " : " + s); } }..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/nrA9p/btq5vOt8ddt/z8hbw0xwxCGHJrTMb8AyQ0/img.png)
⊙ 문제 OutputStream과 관련된 메서드를 이용해 0부터 9까지 연속된 숫자와 A부터 Z까지 알파벳 문자를 콘솔 뷰에 출력하는 프로그램을 작성하시오. 0의 ASCII 코드 값은 '48'이며, A의 ASCII 코드 값은 '65'이다. 콘솔은 표준 출력 장치이므로 System.out 객체를 OutputStream 타입의 변수에 대입해서 사용한다. ⊙ 문제 접근 과정 박스 안의 내용을 잘 보고 그대로 구현해보자. ⊙ 문제 풀이 import java.io.IOException; import java.io.OutputStream; public class Main { public static void main(String[] args) throws IOException { OutputStream out=Sy..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/oharx/btq5uH2W07s/OQ5ugGCS6DAIzXTlwaxZn1/img.png)
⊙ 문제 키보드로 입력한 이름의 자바 소스 파일을 찾아 맨 앞에 행 번호를 붙여서 출력하는 프로그램을 작성하시오. ⊙ 문제 접근 과정 FileReader를 이용했다. ⊙ 문제 풀이 import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.util.Scanner; public class Main { public static void main(String[] args) { String fileName; System.out.print("자바 소스 파일 이름을 입력하시오 : "); fileName = new Scanner(System.in).nextLine(); try { int lineNumb..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/ce8msC/btq5uvoueXY/OD58u4R0WKicsZkrevII3K/img.png)
⊙ 문제 5개의 double 타입 숫자로 구성된 배열을 사용해 다음 작업을 수행하는 프로그램을 작성하시오. 배열을 D:\Temp\double.txt 파일에 DataOutputStream을 사용해 저장한다. 저장된 숫자를 DataInputStream을 사용해 읽은 후 콘솔 뷰에 출력한다. ⊙ 문제 접근 과정 예제 12-4와 같이 try catch문을 이용해 문제를 풀었다. ⊙ 문제 풀이 import java.io.*; public class Main { public static void main(String[] args) { double[] num = {0,0,0,0,0}; try(DataOutputStream dos = new DataOutputStream(new FileOutputStream("C:\\..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/dcER6O/btq5vOnmaSk/zucUTej3TcISxcBAE5RG4k/img.png)
⊙ 문제 BufferedReader 스트림을 사용해 키보드에서 행 단위로 읽은 후 콘솔 뷰로 출력하는 프로그램을 작성하시오. 키보드는 표준 입력 장치이므로 InputStream 타입의 System.in 객체를 사용한다. InputStream을 Reader 타입으로 변환하려면 InputStreamReader 클래스를 사용하면 된다. ⊙ 문제 접근 과정 BufferedReader로 입력받고 출력을 했다. ⊙ 문제 풀이 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOExc..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/eght7I/btq5uT3KCZb/aqopPcGEs9QBajeifIszA0/img.png)
⊙ 문제 D:\\Temp\file.txt 파일의 유무를 출력하는 프로그램을 작성하시오. ⊙ 문제 접근 과정 File를 import 하고 exists() 함수로 판별한다. ⊙ 문제 풀이 import java.io.File; public class Main { public static void main(String[] args) { File file = new File("D:\\Temp\file.txt"); if(file.exists()) System.out.println("파일이 존재합니다."); else System.out.println("파일이 존재하지 않습니다."); } } ⊙ 결과 ⊙ 마무리 NONE 좋아요는 로그인하지 않아도 누를 수 있습니다!
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/syows/btq5qWfMERe/SrhkqH3W2HVw0DxK6PEkCK/img.png)
https://www.acmicpc.net/problem/14002 14002번: 가장 긴 증가하는 부분 수열 4 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 다이나믹 프로그래밍 ⊙ 문제 접근 과정 이번에는 LIS의 길이만 출력하는 것이 아닌 LIS 수열도 출력해야 하는 문제였다. ⊙ 문제 풀이 #include #include #include using namespace std; int n,temp,index,l..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/xMSqb/btq5t3LLgUT/l5VaY2Em73P6ZpLWQZ3vRK/img.png)
https://www.acmicpc.net/problem/3273 3273번: 두 수의 합 n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족하는 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 자료 구조 정렬 두 포인터 ⊙ 문제 접근 과정 투 포인터 문제다. start index 변수와 end index 변수를 만들어주고 index 값을 올리고 줄이면서 result 값을 찾아주면 된다. n값 입력받고 vector에 n의 개수만큼 값 넣기 찾아야 할 x값 입력받기 vecto..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bCDBBS/btq5f4dOpAQ/7QMaJikTpBEa78bKPHmcJk/img.png)
https://www.acmicpc.net/problem/3079 3079번: 입국심사 첫째 줄에 N과 M이 주어진다. (1 ≤ N ≤ 100,000, 1 ≤ M ≤ 1,000,000,000) 다음 N개 줄에는 각 심사대에서 심사를 하는데 걸리는 시간인 Tk가 주어진다. (1 ≤ Tk ≤ 109) www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 이분 탐색 ⊙ 문제 접근 과정 그냥 문제에 접근해 풀이한다면 대부분 아마 시간 초과를 피할 수 없을 거다. 아래 코드처럼 이진 탐색 알고리즘으로 문제를 풀면 시간 초과 문제를 해결할 수 있다. ⊙ 문제 풀이 #include #include #include using namespace std; typedef long long..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/dvHMKR/btq5gFKNGLn/EaeWnKE72cAQCtaa3hvh3k/img.png)
https://www.acmicpc.net/problem/2467 2467번: 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하의 정수이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 오름차순으로 입력되며, 이 수들은 모두 - www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 이분 탐색 두 포인터 ⊙ 문제 접근 과정 반복문을 2중 이상으로 사용하면 시간 초과가 뜬다. 하나만을 이용해 풀어야한다. 그 방법 중 하나로 투 포인터 알고리즘이 있다. 투 포인터 start, end -> index값 생성 index를 이용해 절댓값을 사용해준다. 반복 ⊙ 문제 풀이 #include #include #include ..
- Total
- Today
- Yesterday
- 구현
- 프로그래머스
- 백준
- 운영체제
- 해답
- 답
- JS
- Web
- 정리
- 우종정
- 자바
- 쉽게 배우는 자바 프로그래밍
- py
- 풀이
- CPP
- OS
- BFS
- 정답
- 정렬
- 쉽게배우는
- 문자열
- 자바스크립트
- 파이썬
- 쉽게배우는자바프로그래밍
- 알고리즘
- java
- 그리디
- C++
- 연습문제
- Python
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |