www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net 이 문제는 주어진 숫자들에 대해 최소, 최대를 구하여 출력하는 문제입니다. 버블정렬을 사용하였더니, 시간초과가 발생하였습니다. 이를 방지하기 위해 최대값, 최소값만 찾아 출력하여 해결. ArrayIndexOutOfBounds 에러가 떠서 이러한 점들은 주의가 필요. import java.util.Arrays; import java.util.Scanner; public clas..
분명 2751번 Arrays.sort로 풀고 왜 시간초과 나지? 라고 생각하는 사람이 나처럼 있을거라고 생각한다... Arrays.sort의 특성상 primitive 타입이 아닌 Integer 객체 타입에 관하여 정렬을 하게 되면 O(n^2)의 시간복잡도가 된다고 한다. 그래서 시간초과가 발생한다고 한다. 그래서 Collections.sort를 이용하여야 한다... 사실 아직 뭔가 잘 이해가 되지 않아서 백준 질문을 하나 링크를 올려본다... https://www.acmicpc.net/board/view/31887 불러오는 중입니다... import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; impo..

에라토스테네스의 체 - 소수를 쉽게 구하는 체(거름망) 그림으로 알아보자. 우선 숫자를 100까지 써본다. 그 후 각 숫자에 따라서 그 수의 배수인 수들은 모두 제거해나가기 시작한다. 2를 고르고, 2의 배수를 모두 지우고, 3을 고르고 3의 배수를 모두 지우고, 4는 2의 배수로 지워져있기 때문에 4의 배수는 다시 지우지 않아도 된다. 이렇게 지워지고 남은 수들은 모두 소수이다. 왜냐면 자기 자신과 1을 곱해야 나오는 수이기 때문이다. 100이 소수인지 확인하기 위해서 일일이 100보다 작은 모든 수들로 확인할 필요는 없다. 이 방식대로 하면 시간복잡도가 O(n^2)이 되어버리고 소수인지 판별하려는 숫자가 너무 커지게 되면 코드 실행 시간이 매우 커지게 될것이다. 하지만, 소수인지 확인하려는 수의 제곱..
이 문제는 브루트포스의 알고리즘 분류에 속해있는 문제로 일일이 하나하나 다 무식하게 넘어가야하는 그런 문제이다. 처음에 문제 풀 때는 방법1로 풀었다. 그러나 문제의 예시인 216을 입력하자 207이 나왔다. 잘못 코딩한줄 알았으나 207의 분해합도 216이기는 하다. 그러나 문제에서의 조건이 있었다. 숫자 중 가장 작은 숫자를 구하라고... 그래서 방법 1대로 하게되면 분해합 숫자중 가장 큰 수를 구하게 된다. 그래서 역순으로 1부터 하나하나 차근차근 올라가면 가장 작은 숫자를 구할 수 있게 된다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { pu..
노트북을 판매한 수량을 N개라고 했을 때 A+B*N보다 C*N이 커지는 시점이 손익분기점이 된다. 손익분기점이 존재하지 않는 경우는 B>=C인 경우이다. 처음 고안한 방법 1) while문을 이용 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { // TODO Auto-generated method stub BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String..
정말 오랜만에 포스팅을 한다... 직업관계상 이런저런 사정이 있었다. 백준 15740번을 보게 되면 자바에서 수의 범위에 따라서 수의 자료형을 다룰 수 있느냐 없느냐이다. 이 문제를 풂에 있어서 요점은 long형 보다 범위가 큰 경우의 숫자를 다루는 것이다. 이러한 경우에는 BigInteger library를 사용하여 문제를 풀면 되겠다. import java.util.Arrays; import java.util.Scanner; import java.math.BigInteger; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System..
- Total
- Today
- Yesterday
- 안스 프로젝트 구조
- MinGW 한글
- 연산 순서
- printf 계산 순서
- C언어 배열 선언
- MinGW 한글 깨짐
- 앱 프로그래밍
- 백준
- C언어 한글
- printf문 연산자
- 계산 순서
- 윈도우 복붙
- C언어 한글 깨짐
- C언어 printf문
- 다이나믹 프로그래밍
- res 의미
- 필드 폭 지정
- CLion 한글
- 배열 주의사항
- 복붙하기
- 증감연산자 계산 순서
- 배열 메모리 할당
- 모바일 앱 설계
- python list 팁
- 배열 메모리
- printf 스택
- c언어 필드 폭지정
- c언어 공백 출력
- manifest 의미
- CLion 한글 깨짐
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |