백준 오답노트/정렬

백준 오답노트/정렬

백준 - 정렬 18870번 좌표 압축 / 문제 이해 못함 + 설명

문제 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌표 압축을 적용한 결과 X'1, X'2, ..., X'N를 출력해보자. 입력 첫째 줄에 N이 주어진다. 둘째 줄에는 공백 한 칸으로 구분된 X1, X2, ..., XN이 주어진다. 출력 첫째 줄에 X'1, X'2, ..., X'N을 공백 한 칸으로 구분해서 출력한다. 제한 1 ≤ N ≤ 1,000,000 -109 ≤ Xi ≤ 109 예제 입력 1 복사 5 2 4 -10 4 -9 예제 출력 1 복사 2 3 0 3 1 예제 입력 2 복사 6 1000 999 1000 ..

백준 오답노트/정렬

백준 - 정렬 10814번 문제 틀린 이유 + 해결 완료

= 문제 = = 처음 접근 내용 = 그 전에 문제에서는 2차원 배열을 이용해서 접근했었는데, 이번에는 List를 이용해서 더 편하게 정렬하고 내가 더 편하게 뽑아내자 ! 라는 생각으로 접근했다. 어차피 앞에 숫자만 길이가 같고 그거 파싱해서 내가 원하는 값을 그대로 뽑아내면 되잖아? 라고 이런 식으로 접근을 했었는데, 런타임 오류가 발생했다. 왜 그러지 계속 생각하고 생각해도 이유를 못 찾았는데... 하루가 지나서 드디어 해결! = 틀린 이유 = 나이가 2자리만 받을 수 있는 환경이면 subString을 이용해서 나이 비교를 할 수 있지만, 1~200까지 입력이 가능하기 때문에 List에 저장해서 subString을 활용할 수가 없다. 그래서 이전 문제와 같은 방식으로 2차원 배열을 이용해서 해결했다. ..

백준 오답노트/정렬

백준 - 정렬 2751번 문제 틀린 이유 + 해결

package 정렬.silver; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); int[] numbers = new int[n]; int temp = 0; for (int i = 0; i < numbers.length; i++) { numbers[i] = scanner.nextInt(); } for (int i = 0; i < numbers.length - 1; i++) { for (int j = i + 1; j < numbers.length; j++) { if (number..

백준 오답노트/정렬

백준 - 정렬 2587번 문제 틀린 이유 + 해결

= 문제 = 문제 어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다. 평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다. 예를 들어 10, 40, 30, 60, 30의 평균은 (10 + 40 + 30 + 60 + 30) / 5 = 170 / 5 = 34가 된다. 평균 이외의 또 다른 대표값으로 중앙값이라는 것이 있다. 중앙값은 주어진 수를 크기 순서대로 늘어 놓았을 때 가장 중앙에 놓인 값이다. 예를 들어 10, 40, 30, 60, 30의 경우, 크기 순서대로 늘어 놓으면 10 30 30 40 60 이 되고 따라서 중앙값은 30이 된다. 다섯 개의 자연수가 주어질 때 이들의 평균과 중앙값을 구하는 프로그램을 작성하시오. 입력 첫째 줄부터 다섯 번째 줄까지 한 줄에..

초보병일이
'백준 오답노트/정렬' 카테고리의 글 목록