반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- SWEA
- 코테준비
- mybatis
- 자바
- AtoZ0403
- 자료구조
- 정렬
- spring
- stack
- 백준
- 카카오
- 배열
- 삼성소프트웨어아카데미
- 자바스크립트
- 알고리즘
- 삼성
- 프로그래머스
- 중간 평균값 구하기
- 그리디알고리즘
- array
- js
- java
- 코딩
- javascript
- 콜백지옥
- 스텍
- 코딩테스트
- 인프런
- NestJS
- 코테
Archives
- Today
- Total
개발에 AtoZ까지
[JAVA][D3] 11387. 몬스터 사냥 본문
반응형
문제
용사가 몬스터를 공격할 때는 기본적으로 D만큼의 데미지를 입힌다. 여기에, 용사가 익힌 공격의 레벨 L에 따라 추가적인 데미지가 있는데,
지금까지 몬스터를 때린 횟수가 n번이라고 하면, 다음 공격이 몬스터에게 입히는 데미지는 D(1+nㆍL%)가 된다. %는 1/100을 의미한다.
지금까지 용사가 몬스터를 때린 횟수가 0번이라고 할 때, 앞으로 총 N번의 공격을 하면 몬스터에게 가한 총 데미지가 몇이 되는지 구하는 프로그램을 작성하라.
[입력]
첫 번째 줄에 테스트 케이스의 수 T가 주어진다.
각 테스트 케이스의 첫 번째 줄에는 세 정수 D, L, N(102 ≤ D ≤ 104, 0 ≤ L ≤ 100, 1 ≤ N ≤ 102)이 공백 하나로 구분되어 주어진다. D는 100의 배수로만 주어진다.
[출력]
각 테스트 케이스마다 용사가 몬스터에게 가한 총 데미지를 출력한다.
예시
풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
class Solution
{
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T = Integer.parseInt(br.readLine());
for(int i=1;i<=T;i++) {
String[] str = br.readLine().split(" ");
int D = Integer.parseInt(str[0]); //데미지
int intL = Integer.parseInt(str[1]); //레벨
float floatL =(float)intL/100; //레벨/100 (퍼센트로 환산)
int N = Integer.parseInt(str[2]); //공격횟수
System.out.println("#"+i+" "+recul(D,floatL,N));
}
}
//재귀함수 사용
/*
* ex) input 값이 100 4 3 일 경우에는
* 답을 구하는 과정을 보면100 + 100(1+1*0.03) + 100(1+2*0.03) ... 이런 식이다.
* 이렇게 공통된 부분이 있기 때문에 for문 보다는 재귀에 적합하다고 생각한다.
*/
private static int recul(int d, float l, int n) {
if(n==1) {
return (int) (d*(1+(n-1)*(l/100)));
}
else {
int val = Math.round(d*(1+(n-1)*l));
return val + recul(d,l,n-1);
}
}
}
반응형
'코딩테스트 준비 > SWEA' 카테고리의 다른 글
[JAVA][D3] 10505. 소득 불균형 (0) | 2021.03.06 |
---|---|
[JAVA][D3] 10804. 문자열의 거울상 (0) | 2021.03.04 |
[JAVA][D3] 10804. 문자열의 거울상 (0) | 2021.03.02 |
[JAVA][D2] 1204. 최빈수 구하기 (0) | 2021.01.11 |
[JAVA][D2] 1284. 수도 요금 경쟁 (0) | 2021.01.11 |
[JAVA][D2] 1285. 아름이의 돌 던지기 (0) | 2021.01.11 |
[JAVA][D2] 1288. 새로운 불면증 치료법 (0) | 2021.01.11 |
Comments