본문 바로가기
반응형

백준11

[백준] 2908번 java 상수 문제를 보도록 하자. www.acmicpc.net/problem/2908 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net 상수는 수학을 못한다. 만약 숫자를 123 456 이렇게 두 개를 입력받으면, 상수는 321과 654로 인식해 더큰값을 출력하는 것이다. 증말 이상한 친구다. 아무튼 숫자를 입력받아 StringBuffer를 사용해 reverse로 문자열로 뒤집은뒤 다시 int형으로 바꾸어 비교해서 출력하면 될것같다. 풀이방법을 보자 import java.util.*; public class Main { public s.. 2020. 12. 8.
백준 Java) 3052번 나머지 문제 일단 문제를 한번 보자! www.acmicpc.net/problem/3052 3052번: 나머지 39, 40, 41, 42, 43, 44, 82, 83, 84, 85를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 모두 6개가 있다. www.acmicpc.net 10개의 수를 받아 42로 나눈 나머지 값을 서로 다른 값이 몇 개가 있는지 구하는 것이다. 필자는 선택 정렬로 구현해보면 어떨까?라는 생각으로 풀어보았다. 처음 접근한 방식을 써보겠다. import java.util.Scanner; public class main { public static void main(String[] args) { int[] num = new int[10]; Sc.. 2020. 12. 3.
백준 C) 10798번 문제 세로 읽기 문제를 같이 볼까요? www.acmicpc.net/problem/10798 10798번: 세로읽기 총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’� www.acmicpc.net 한 줄의 단어는 글자들을 빈칸 없이 연속으로 나열해서 최대 15개의 글자들로 이루어진다. 또한 만들어진 다섯 개의 단어들의 글자 개수는 서로 다를 수 있다. 문제를 보고 딱 든 생각이 2차원 배열을 사용하면 손쉽게 풀 수 있을 것 같았다. 그래서 저의 코드를 보자면 #include #define MAX_SIZE 15 char str_read[5][MAX_SIZE]; int main.. 2020. 9. 26.
백준 java) 10818번 문제 최소, 최대 일단 같이 문제를 보겠습니다. www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net 문제는 아주 심플하죠. N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오. 뭔가 정렬 알고리즘을 쓰면 될 거 같죠? 저는 자바로 구현했습니다. import java.util.*; public class Main { public static void main(String[] arg) { Scanner input = ne.. 2020. 9. 23.
백준 C) 10971번 문제 X보다 작은 수 일단 문제를 같이 볼까요? www.acmicpc.net/problem/10871 10871번: X보다 작은 수 첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다. www.acmicpc.net 문제를 보면 정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오. 라고 적혀있습니다. 비교 반복문으로 배열에 저장해주면 될 것 같네요. 저는 c언어로 구현했습니다. #include #include int main() { int i,j=0,max,X; scanf("%d %d",&max,&X); int .. 2020. 9. 23.
백준 java) 10989번 문제 수 정렬하기 3 문제를 같이볼까요? www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 문제는 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.가 되겠습니다. 이 문제에서는 런타임오류를 어떻게 해결해야하는지 관건이겠네요. 저는 자바로 구현했습니다. import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWr.. 2020. 9. 22.
백준 java) 11399번 문제 ATM 문제를 한번 같이 볼까요? www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 문제를 읽어보면 줄을 [2, 5, 1, 4, 3] 순서로 줄을 서면, 2번 사람은 1분 만에, 5번 사람은 1+2 = 3분, 1번 사람은 1+2+3 = 6분, 4번 사람은 1+2+3+3 = 9분, 3번 사람은 1+2+3+3+4 = 13분이 걸리게 된다. 각 사람이 돈을 인출하는데 필요한 시간의 합은 1+3+6+9+13 = 32분이다. 이 방법보다 더 필요한 시간의 합을 최소로 만들 수는 없다. 이런 식으로 구현해야.. 2020. 9. 21.
백준 java) 11650번 문제 좌표 정렬하기 문제를 한번 볼까요? www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 여기서 보면 2차원 평면 위에 점 N개가 주어지고, X좌표를 증가하는 순, 같으면 Y좌표가 증가하는 순서로 정렬하는 것입니다. 저는 자바로 구현했습니다. import java.util.*; public class Main { public static void main(String[] arg) { Scanner input = new Sca.. 2020. 9. 21.
백준 C) 15552번 문제 빠른A+B 일단 문제를 볼까요? www.acmicpc.net/problem/15552 15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. www.acmicpc.net 본격적으로 for문 문제를 풀기 전에 주의해야 할 점이 있다. 입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간초과가 날 수 있다는 점이다. C++을 사용하고 있고 cin/cout을 사용하고자 한다면, cin.tie(NULL)과 sync_with_stdio(false)를 둘 다 적용해 주고, endl 대신 개행문자(\n)를 쓰자. 단, 이렇게 하면 더 이상 scanf/printf/puts/getch.. 2020. 9. 20.
반응형