ssung_항해일지/항해99_프로그래밍 기초(알고리즘)

알고리즘 - 5일차

ssungcohol 2023. 2. 2. 02:04
etc = ((money-pay) / 500) + ((money-pay) % 500) / 100
		+ (((money-pay) % 500) % 100) / 50 + ((((money-pay) % 500) % 100) % 50) / 10
        + (((((money-pay) % 500) % 100) % 50) % 10) / 5
        + ((((((money-pay) % 500) % 100) % 50) % 10) % 5) / 1;

해당 코드를 for 문을 사용하여 간단하게 만들어 볼까요?!

	int change = money - pay;
        int allCoin = 0;
        int[] coin = new int[] {500, 100, 50, 10, 5, 1};

        for (int i = 0; i < coin.length; i++) {
            if (change >= coin[i]) {
                allCoin += change / coin[i];
                change = change % coin[i];
            }
        }

깔끔하고 훨~~씬 보기가 쉽죠?!

같은 방법이지만 깔끔하고 보기 쉽게 작성을 하는 연습을 더 해야겠습니다아~


오늘 배운 한가지!! 바로 입력값을 받는 메소드! Scanner~~

Scanner scanner = new Scanner(System.in);

int pay = scanner.nextInt();

해당 코드에서는 int 타입으로 입력 값을 받지만!

다양한 타입으로 입력 값을 받을 수 있다!! 또한, 사용할 때는 import java.util.Scanner; 잊지 말고 추가해주자!


사실 현재 머릿속이 과부화 상태인 것 같다..

지금도 solid 강의를 다시 듣다가 도저히 이해가 안되서 TIL을 적고 잠에 드려고 한다..

알고리즘 문제도 오늘 내내 한 것 같은데 5~6문제? 정도 해결한 것 같다..

이거해보고 안되면 생각하고 책보고 찾아보고, 구글링하고, 다른 사람 풀이보고, 적용해보고..

 

그러다가 오늘 할 일은 거의 마무리 했지만, solid 강의를 들으며 코드를 정리해보기도 해야하는데 머리가 멈춘것 같다..

어지러움..

 

더군다나, 내일은 알고리즘 본고사가 있는 날인데! 오늘 마지막 해야할 일이었던, 알고리즘 모의고사 리뷰와 함께 복습을 하려고 했지만 내일 아침으로 미뤄야하는 상황이다..

지금 리뷰를 하고 다시 한 번 보고 진행하더라도, 머리에 들어오지 않을 것 같은건 맞는거지요?!

 

몸이 조금 힘들더라도, 내 정신이 요즘 많이 힘든 상황이다.. 내일은 아침에 일찍 일어나서 운동을 꼭 다녀오는 방향을 선택해야할 것 같다. 운동하고 스트레스 좀 풀어주고 복습하고! 본고사를 진행하면 좋을 것 같다!

 

내가 어느정도 수준인지 스스로 느끼는게 있지만 확실한 건 많이 더디고 늦고 있다는 건 사실인 것 같다.

정해진 커리큘럼을 따라가되! 못하면 못하는걸 인정하고, 자책-좌절 등등은 하지말고 바로 그런가보다 하고

꾸준히 나아가보자

언젠간 나에게도 팝콘 마냥 Java 놈이 터지면서 퍼즐이 맞춰지는 날이 오겠지

할 수 있다~! 

728x90