티스토리 뷰
반응형
https://softeer.ai/practice/info.do?eventIdx=1&psProblemId=423
Softeer
앗 잠깐만요! 소프티어 이용 중 이 페이지를 보신다면 브라우저의 쿠키 때문인 경우가 많습니다. 접속한 브라우저의 쿠키 삭제(Ctrl + Shift + Del) 후 브라우저를 닫고 다시 접속해주세요. 그래도 안
softeer.ai
[문제]
나날이 심해지는 미세먼지로 인해 야외뿐만 아니라 집 안에서도 마음 놓을 수 없는 날이 계속되고 있다. 유해 물질이 창문 틈새로 새어 들어오거나, 외출 후 옷과 신발 등에 붙어 들어와 집 안이 오염될 수 있기 때문이다. 현대자동차그룹에서는 입주민들이 미세먼지 걱정없이 집 안을 깨끗하게 유지할 수 있도록 세대 내부에도 H 클린알파(H Cleanα)를 도입했다. 미세먼지 제거와 공기 정화는 물론, 바이러스와 세균까지 잡아주는 기술이다.
H 클린알파의 성능 테스트를 위해서 아래와 같은 조건을 가정한다.
1) 1초 간격으로 바이러스들이 집 안으로 침입한다
2) 집 안에서 바이러스는 1초당 P배씩 증가한다
3) N초 동안 죽는 바이러스는 없다
매초 집 안에 침입하는 바이러스의 숫자가 주어질 때, N초 후에는 총 몇 마리의 바이러스를 잡아야 할까?
[풀이]
import java.util.*;
import java.io.*;
public class Main
{
static int P; // 1<= P <= 100000000, 증가율
static int N; // 1<= N <= 1000000, 시간
static int[] A; // 1<= Ai <= 100000000, 매 초 침입하는 바이러스의 수
static final int DIVIDE = 1000000007;
static long RESULT = 0;
public static void main(String[] args) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
P = Integer.parseInt(st.nextToken());
N = Integer.parseInt(st.nextToken());
A = new int[N];
st = new StringTokenizer(br.readLine());
for (int i = 0; i < N; i++)
{
A[i] = Integer.parseInt(st.nextToken());
RESULT = (RESULT * P + A[i]) % DIVIDE;
}
System.out.println(RESULT);
br.close();
}
}
반응형
'ALL' 카테고리의 다른 글
[Softeer/소프티어][Level3]강의실 배정(Java) (0) | 2023.01.11 |
---|---|
[Softeer/소프티어][Level3]조립라인(Java) (0) | 2023.01.11 |
[Softeer/소프티어][Level3]징검다리(Java) (0) | 2023.01.11 |
[Softeer/소프티어][Level3]수퍼바이러스(Java) (0) | 2023.01.11 |
[Softeer/소프티어][Level3]성적 평균(Java) (0) | 2023.01.11 |