💡 코테/99클럽

[ 99클럽 코테 스터디 31일차 TIL ] 백준 (2033번 - 반올림)

MNY 2024. 4. 30. 22:20
728x90
반응형
💡 오늘의 학습 키워드

- 백준
    * 2033번 - 반올림 : 비기너 문제(브론즈1)

 

오늘의 회고

문제1  : [10811번 - 바구니 뒤집기]

  • 어떤 문제가 있었고, 나는 어떤 시도를 했는지

문제의 제목 그대로 반올림하는 문제이다.

 

446이 입력되면 아래와 같이 계속 반올림 되어 500이 출력되어야 한다.

446 -> 450 -> 500

 

입력받은 수를 문자열로 바꾸어 자리수를 확인한다.

입력받은 수를 10으로 나누었을 때의 나머지 값이 5보다 크거나 같으면 현재 위치보다 앞자리에 10을 더한다.

그러고 입력받은 수를 10으로 계속 나누어준다. 

마지막으로 입력받은 자리 수-1만큼 계산된 결과에 10을 곱해준다.

 

근데 이거 계속 틀렸다고 뜬다. 뭐가 잘못된 것인지 모르겠다...

 

// 이거 왜 박스? 안 뜨지... 아무튼 풀이한 문제의 링크

https://www.acmicpc.net/problem/2033

 

  • 어떻게 해결했는지(통과하지 못했음)
import java.util.*;

public class Main {
	public static void main(String args[]) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		
		int len = Integer.toString(N).length();
			
		while (N >= 10) {
			int l = N % 10;
			if (l >= 5) {
				N += 10;
			}
			N /= 10;
		}
	
		for (int i = 1; i < len; i++) {
			N *= 10;
		}
		
		System.out.println(N);
	}
}

 

* 참고한 블로그

 

[백준] 2033번 : 반올림 - Java(자바)

https://www.acmicpc.net/problem/2033

velog.io

 

  • 무엇을 새롭게 알았는지

새롭게 안 건 내가 참고한 블로그와 같은 방식으로도 풀이할 수 있다는 게 놀라울 따름이었다.

내가 풀이한 문제는 왜 틀린 건지 모르겠다. 어떤 숫자에서 반례가 있는 건지 모르겠다. 

애초에 풀이가 잘못된건지.. 진짜 도대체 머가 문제인거지ㅜ

 

이틀 동안 바쁘거나 몸이 안 좋아서 풀이 못하다가 다시 돌아왔는데..

진짜 뭐가 문제인지 모르겠다ㅠ

 

내일 학습할 것은 무엇인지 (최대 3개)

  • 클럽99 코딩테스트(비기너) 문제풀이
  • 내배캠 개인과제 마무리
  • 네트워크 관리사 자격증 준비
728x90
반응형