double 타입의 interestRate를 입력받고 두배가 되는 시간(년)을 구한다.
for문으로 비비다가 결국 못하고 레퍼런스를 봤다.
내가 작성한 코드
public int computeWhenDouble(double interestRate){
double won = 1.0;
int year = 0;
double interest = interestRate / 100;
for (int i = 0; won >= 2.0; i++) {
won = won + (won * interest);
year = i;
}
return year;
}
레퍼를 참고한 코드
public int computeWhenDouble(double interestRate){
double won = 1;
double interest = 1 + interestRate / 100;
int year = 0;
while(won < 2){
won = won * interest;
year++;
}
return year;
}
while문을 사용해 간단히 했다. 내가 작성한 코드는 year이 계속 0으로 갔다. 왤까?
레퍼코드를 for문으로 바꿔봤다.
public int computeWhenDouble(double interestRate){
double won = 1;
double interest = 1 + interestRate / 100;
for(int year = 0; won < 2; year++){
won *= interest;
}
return year;
}
이래도 오류가뜬다. return year; 에서 cannot find symbol이 뜬다. 아 대체 뭐가 문젤까? 답답허다
문제에서 while문을 사용하라고도 안했는데..왜지? 이래서 인텔리제이에서 한번해봤다.
public int computeWhenDouble(double interestRate) {
double won = 1;
double interest = 1 + interestRate / 100;
int year;
for (year = 0; won < 2; year++) {
won *= interest;
}
return year;
}
하.
이러니 됐다.
int year;를 먼저 선언해주고, 그다음에 for문을 진행 했더니 됐다. 허무하다. 역시 인텔리제이 짱.
그리고 문제를 내가 이해를 못했던것 같다. won >=2.0 이 아니라 won <2였다. 원금이 두배 이상이 되는 시점이라고 해서 그렇게 했는데...
이해력이 딸리나보다..
'Java > 알고리즘' 카테고리의 다른 글
문자열배열 세로로 읽어버리기 (0) | 2022.12.05 |
---|---|
문자열사이에 '-' 삽입하자! (홀수사이에만!) (0) | 2022.11.26 |
문자열중 특정문자로 시작해 특정문자로 끝나는지 찾아용 (1) | 2022.11.25 |
2차원배열을 HashMap으로 / [구현]보드게임 (0) | 2022.11.25 |
안반잘다만 - String 슬라이싱 후 앞글자만 모으기 (0) | 2022.11.22 |