whatisthis?
๋ฐฑ์ค 10818 javascript (node.js) ํ์ด ๋ณธ๋ฌธ
1์ฐจ์ ๋ฐฐ์ด - (1)
๐ก๋ฌธ์
N๊ฐ์ ์ ์๊ฐ ์ฃผ์ด์ง๋ค. ์ด๋, ์ต์๊ฐ๊ณผ ์ต๋๊ฐ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
๐์ ๋ ฅ
์ฒซ์งธ ์ค์ ์ ์์ ๊ฐ์ N (1 ≤ N ≤ 1,000,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์๋ N๊ฐ์ ์ ์๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด์ ์ฃผ์ด์ง๋ค. ๋ชจ๋ ์ ์๋ -1,000,000๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 1,000,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์์ด๋ค.
๐์ถ๋ ฅ
์ฒซ์งธ ์ค์ ์ฃผ์ด์ง ์ ์ N๊ฐ์ ์ต์๊ฐ๊ณผ ์ต๋๊ฐ์ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ
5
20 10 35 30 7
์์ ์ถ๋ ฅ
7 35
< ์ฝ๋ >
let input = require('fs').readFileSync('/dev/stdin').toString().split('\n');
let T = Number(input[0]);
let nums = input[1].split(' ').map(x => Number(x));
let max = nums[0];
let min = nums[0];
for(i=1;i<T;i++){
if(nums[i] > max) {
max = nums[i];
}
if(nums[i] < min) {
min = nums[i];
}
}
console.log(min + ' ' + max);
<Key Point>
- input[0]์ T๋ผ๊ณ ์ค์ ํ๋ค.
- ๋๋ฒ์งธ ๊ฐ๋ถํฐ ๋น๊ตํ๊ธฐ ์ํด์ max์ min๊ฐ์ ์ฒซ๋ฒ์งธ ๊ฐ์ผ๋ก ์ค์ ํ๋ค.
- ์ซ์ ๋ฐฐ์ด์ 2๋ฒ์งธ ์์ดํ ๋ถํฐ T-1๋ฒ์งธ ์์ดํ ๊น์ง ๊ฒ์ฌํ๋ค. (i=1๋ถํฐ i<T์ด๋ฏ๋ก)
+) ๐ก ๋ค๋ฅธ ํ์ด
let input = require("fs").readFileSync("/dev/stdin").toString().split('\n');
let T = Number(input[0]);
let nums = input[1].split(" ").map(x => Number(x));
let max = -1000000;
let min = 1000000;
for(let i = 0; i < T; i++) {
if(nums[i] < min)
min = nums[i];
if (nums[i] > max)
max = nums[i];
}
console.log(`${min} ${max}`);
๋ฌธ์ ์์ -1,000,000๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 1,000,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์๋ผ๊ณ ๋ช ์ํ์ผ๋ฏ๋ก
max = -1,000,000
min = 1,000,000 ์ผ๋ก ์ค์ ํ ํ์ i = 0, ์ฆ ์ฒซ๋ฒ์งธ ๊ฐ๋ถํฐ ๋น๊ตํด๋ ๋๋ค!
>> ๊ฐ์ด ๋๋ฌด ์ปค์ง๋ฉด ์ค๋ ๊ฑธ๋ฆด ์๋ ์๊ฒ ๋ค ใ ก ์ถ์๋๋ฐ ์คํ์๊ฐ์ ๋น์ทํ๋ค!
โ ์ฒ์ ํ๋ ธ๋ ์ฝ๋ ๐ป
let input = require('fs').readFileSync('/dev/stdin').toString().split('\n');
let nums = input[1].split(' ').map(x => Number(x));
let max = 1;
let min = nums[0];
for(i=0;i<nums.length;i++){
if(nums[i] > max) {
max = nums[i];
} else if(nums[i] < min) {
min = nums[i];
}
}
console.log(min + ' ' + max);
๋ฐฐ์ด์ ๊ธธ์ด์ธ nums.length๊ฐ ์๋๋ผ
์ ๋ ฅ ๋ฐฐ์ด์ ์ฒซ๋ฒ์งธ ํญ๋ชฉ์ธ input[0]๋ฅผ T๋ก ์ค์ ํ๋ฉด ํธํ๋ค.
๋ํ i=0 ๋ถํฐ i<T๊ฐ ์๋๋ผ
i=1 ๋ถํฐ i<T๋ก ํด์ผํ๋ค.
>> ๋๋ฒ์งธ ๊ฐ๋ถํฐ ๋น๊ตํ๋ฉด ๋จ. (์ต์๊ฐ์ ์ฒซ๋ฒ์งธ ๊ฐ์ผ๋ก ํ ํ)
์ฌ์ด ์ดํด๋ฅผ ์ํ ์์๋ฅผ ๋ค์ด๋ณด์.
์ ๋ ฅ์ด
5
20 10 35 30 7
์ ๊ฐ๋ค๋ฉด,
input[0], ์ฆ T=5๊ฐ ๋๋ค.
input[1]์ split(' ')ํด์ ์ ์ฅํ nums ๋ฐฐ์ด์ [20, 10, 35, 30, 7]์ด ๋๋ค.
max = nums[0]
min = nums[0] ์ผ๋ก ์ค์ ํ๋ค.
์ฒซ๋ฒ์งธ ์์๋ฅผ ์ต๋๊ฐ์ด์ ์ต์๊ฐ์ผ๋ก ์ค์ ํ ํ์ ์์๋๋ก ํฌ๊ธฐ๋ฅผ ๋น๊ตํด์
๋ง์ฝ max๋ณด๋ค ํฌ๋ค๋ฉด ๊ทธ ๊ฐ์ max๋ก ๊ฐฑ์ ํ๊ณ
min๋ณด๋ค ์๋ค๋ฉด ๊ทธ ๊ฐ์ min์ผ๋ก ๊ฐฑ์ ํ๋ค.
** ์ฌ๊ธฐ์ ๊ทธ ๊ฐ์ด๋? nums[i]
'ALGORITHM > BOJ (Node.js)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค 2562 javascript (node.js) ํ์ด (0) | 2022.01.04 |
---|---|
๋ฐฑ์ค 2562 javascript (node.js) ํ์ด (0) | 2022.01.04 |
โโ ๋ฐฑ์ค 1110 javascript (node.js) ํ์ด (0) | 2021.12.20 |
๋ฐฑ์ค 10951 javascript (node.js) ํ์ด (0) | 2021.12.20 |
๋ฐฑ์ค 10952 javascript (node.js) ํ์ด (0) | 2021.12.13 |