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
- MDN
- 프로젝트
- sucoding
- 상태 관리 라이브러리
- 배열메서드
- 컴포넌트설계
- Server State
- radixui
- 스나이퍼팩토리
- 배열
- 리액트프로젝트
- tanstack query
- 프론트엔드
- 실시간통신
- stompjs
- 코딩테스트
- JavaScript
- @stomp/stompjs
- 공식문서
- npm
- React
- 수코딩
- frontend
- TypeScript
- React Query
- pnpm
- 프로젝트캠프
- 라이브러리
- shadcn
- 자바스크립트
Archives
- Today
- Total
yunicornlab
[Softeer] 소프티어 - 바이러스 JavaScript (Level 2) 본문
자바스크립트로 Softeer의 바이러스 라는 문제 풀기!
https://softeer.ai/practice/6284
Softeer - 현대자동차그룹 SW인재확보플랫폼
softeer.ai
const fs = require('fs');
const [k, p, n] = fs.readFileSync('/dev/stdin', 'utf8').trim().split(' ').map(v => BigInt(v));
let result = k;
for (let i=1; i<parseInt(n)+1; i++) {
result = (result * p) % BigInt(1000000007);;
}
console.log(parseInt(result))
제약 조건이 중요한 문제였다.
처음에는 와 문제 쉽다 생각하고 아래처럼 풀고 제출했는데,
const fs = require('fs');
const [k, p, n] = fs.readFileSync('/dev/stdin', 'utf8').trim().split(' ').map(v => BigInt(v));
console.log(k * Math.pow(p, n) % 1000000007)
완전 광탈...ㅎㅎㅎㅎㅎㅎㅎ
BigInt 사용 + 시간복잡도 고려해야 성공하는 문제였다.
이 문제 풀면서 시간복잡도를 고려해야하는 것이 정말 중요함을 깨달았다.
'Coding Test > Practice' 카테고리의 다른 글
[Softeer] 소프티어 - 장애물 인식 프로그램 JavaScript (Level 2) (0) | 2024.06.29 |
---|---|
[Softeer] 소프티어 - 8단 변속기 JavaScript (Level 2) (0) | 2024.06.29 |
[Softeer] 소프티어 - 금고 털이 JavaScript (Level 2) (0) | 2024.06.29 |
[Softeer] 소프티어 - 연탄의 크기 JavaScript (Level 2) (0) | 2024.06.29 |
[Softeer] 소프티어 - [한양대 HCPC 2023] X marks the Spot JavaScript (Level 2) (0) | 2024.06.29 |