๐ง ๊ณต ๋ฃ๊ธฐ
๐ ๋ฌธ์ ์ค๋ช
๋ํ์ด๋ ๋ฐ๊ตฌ๋๋ฅผ ์ด N๊ฐ ๊ฐ์ง๊ณ ์๊ณ , ๊ฐ๊ฐ์ ๋ฐ๊ตฌ๋์๋ 1๋ฒ๋ถํฐ N๋ฒ๊น์ง ๋ฒํธ๊ฐ ๋งค๊ฒจ์ ธ ์๋ค. ๋, 1๋ฒ๋ถํฐ N๋ฒ๊น์ง ๋ฒํธ๊ฐ ์ ํ์๋ ๊ณต์ ๋งค์ฐ ๋ง์ด ๊ฐ์ง๊ณ ์๋ค. ๊ฐ์ฅ ์ฒ์ ๋ฐ๊ตฌ๋์๋ ๊ณต์ด ๋ค์ด์์ง ์์ผ๋ฉฐ, ๋ฐ๊ตฌ๋์๋ ๊ณต์ 1๊ฐ๋ง ๋ฃ์ ์ ์๋ค.
๋ํ์ด๋ ์์ผ๋ก M๋ฒ ๊ณต์ ๋ฃ์ผ๋ ค๊ณ ํ๋ค. ๋ํ์ด๋ ํ ๋ฒ ๊ณต์ ๋ฃ์ ๋, ๊ณต์ ๋ฃ์ ๋ฐ๊ตฌ๋ ๋ฒ์๋ฅผ ์ ํ๊ณ , ์ ํ ๋ฐ๊ตฌ๋์ ๋ชจ๋ ๊ฐ์ ๋ฒํธ๊ฐ ์ ํ์๋ ๊ณต์ ๋ฃ๋๋ค. ๋ง์ฝ, ๋ฐ๊ตฌ๋์ ๊ณต์ด ์ด๋ฏธ ์๋ ๊ฒฝ์ฐ์๋ ๋ค์ด์๋ ๊ณต์ ๋นผ๊ณ , ์๋ก ๊ณต์ ๋ฃ๋๋ค. ๊ณต์ ๋ฃ์ ๋ฐ๊ตฌ๋๋ ์ฐ์๋์ด ์์ด์ผ ํ๋ค.
๊ณต์ ์ด๋ป๊ฒ ๋ฃ์์ง๊ฐ ์ฃผ์ด์ก์ ๋, M๋ฒ ๊ณต์ ๋ฃ์ ์ดํ์ ๊ฐ ๋ฐ๊ตฌ๋์ ์ด๋ค ๊ณต์ด ๋ค์ด ์๋์ง ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
โจ๏ธ ์ ๋ ฅ
์ฒซ์งธ ์ค์ N (1 โค N โค 100)๊ณผ M (1 โค M โค 100)์ด ์ฃผ์ด์ง๋ค.
๋์งธ ์ค๋ถํฐ M๊ฐ์ ์ค์ ๊ฑธ์ณ์ ๊ณต์ ๋ฃ๋ ๋ฐฉ๋ฒ์ด ์ฃผ์ด์ง๋ค. ๊ฐ ๋ฐฉ๋ฒ์ ์ธ ์ ์ i j k๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, i๋ฒ ๋ฐ๊ตฌ๋๋ถํฐ j๋ฒ ๋ฐ๊ตฌ๋๊น์ง์ k๋ฒ ๋ฒํธ๊ฐ ์ ํ์ ธ ์๋ ๊ณต์ ๋ฃ๋๋ค๋ ๋ป์ด๋ค. ์๋ฅผ ๋ค์ด, 2 5 6์ 2๋ฒ ๋ฐ๊ตฌ๋๋ถํฐ 5๋ฒ ๋ฐ๊ตฌ๋๊น์ง์ 6๋ฒ ๊ณต์ ๋ฃ๋๋ค๋ ๋ป์ด๋ค. (1 โค i โค j โค N, 1 โค k โค N)
๋ํ์ด๋ ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง ์์๋๋ก ๊ณต์ ๋ฃ๋๋ค.
๐จ๏ธ ์ถ๋ ฅ
1๋ฒ ๋ฐ๊ตฌ๋๋ถํฐ N๋ฒ ๋ฐ๊ตฌ๋์ ๋ค์ด์๋ ๊ณต์ ๋ฒํธ๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด ์ถ๋ ฅํ๋ค. ๊ณต์ด ๋ค์ด์์ง ์์ ๋ฐ๊ตฌ๋๋ 0์ ์ถ๋ ฅํ๋ค.
๐ ๋ฌธ์ ํ์ด
1. M๊ณผ N์ ์ ๋ ฅ๋ฐ๊ณ ํฌ๊ธฐ N์ ๋ฐฐ์ด์ ๋ง๋ ๋ค.
2. i, j, k๋ฅผ ์ ๋ ฅ ๋ฐ์ ํ for๋ฌธ์ ํตํด ๋ฐฐ์ด์ i-1๋ถํฐ j-1๊น์ง k๋ฅผ ์ ๋ ฅํ๋ค.
3. ๋ฐฐ์ด์ ์ถ๋ ฅํ๋ค.
์ด ๋ฌธ์ ๋ ์ ์ ํ๋ค๊ฐ ์์ธ์ง ์ถ๋ ฅ์ด ๋ค๋ฅด๊ฒ ๋์์ ์๋ฌธ์ ๋ชจ๋ฅด๊ฒ ๋ ๋ฌธ์ ์์๋ค. ์ํ๊ธฐ๊ฐ๋ ๋ค๊ฐ์ค๋ฉด์ ํด๊ฒฐ์ ๋ชปํ๊ณ ๊ทธ๋๋ก ๋์๋๋ฐ, ์๊ณ ๋ณด๋ ๋ง์ง๋ง ์ถ๋ ฅ for๋ฌธ์์ ์๋์ฒ๋ผ ์๋ชป ์ ์๋ค ....
for (int k : numarr) {
System.out.print(numarr[k] + " "); // (k + " ")
}
๊ธํ๊ฒ ๋ฌธ์ ๋ฅผ ๋ง์ด ํ๊ณ ์ถ์ด์ ์ ์ง๋ฅธ ๋ฐ๋ณด ๊ฐ์ ์ค์ .. ใ ใ
๐ฅ๏ธ ์์ฑ ์ฝ๋
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main {
public static void main(String args[]) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(bf.readLine()," ");
int n = Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
int[] numarr = new int[n];
for (int i = 0; i < m; i++) {
st = new StringTokenizer(bf.readLine()," ");
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
int c = Integer.parseInt(st.nextToken());
for (int j = a-1; j < b; j++) {
numarr[j] = c;
}
}
for (int k : numarr) {
System.out.print(k + " ");
}
}
}
'๐ algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค | ์ ์กฐ์ํ๊ธฐ1 JAVA(์๋ฐ) (1) | 2023.09.17 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค | ๋ง์ง๋ง ๋ ์์ JAVA (์๋ฐ) (0) | 2023.09.16 |
ํ๋ก๊ทธ๋๋จธ์ค | ์ด์ด ๋ถ์ธ ์ JAVA(์๋ฐ) (0) | 2023.09.15 |
JAVA | [๋ฐฑ์ค] ๋ฌธ์ ํ์ด ์์ (0) | 2023.06.06 |
JAVA | [ํ๋ก๊ทธ๋๋จธ์ค] ์กฐ๊ฑด ๋ฌธ์์ด (0) | 2023.06.05 |
๐ง ๊ณต ๋ฃ๊ธฐ
๐ ๋ฌธ์ ์ค๋ช
๋ํ์ด๋ ๋ฐ๊ตฌ๋๋ฅผ ์ด N๊ฐ ๊ฐ์ง๊ณ ์๊ณ , ๊ฐ๊ฐ์ ๋ฐ๊ตฌ๋์๋ 1๋ฒ๋ถํฐ N๋ฒ๊น์ง ๋ฒํธ๊ฐ ๋งค๊ฒจ์ ธ ์๋ค. ๋, 1๋ฒ๋ถํฐ N๋ฒ๊น์ง ๋ฒํธ๊ฐ ์ ํ์๋ ๊ณต์ ๋งค์ฐ ๋ง์ด ๊ฐ์ง๊ณ ์๋ค. ๊ฐ์ฅ ์ฒ์ ๋ฐ๊ตฌ๋์๋ ๊ณต์ด ๋ค์ด์์ง ์์ผ๋ฉฐ, ๋ฐ๊ตฌ๋์๋ ๊ณต์ 1๊ฐ๋ง ๋ฃ์ ์ ์๋ค.
๋ํ์ด๋ ์์ผ๋ก M๋ฒ ๊ณต์ ๋ฃ์ผ๋ ค๊ณ ํ๋ค. ๋ํ์ด๋ ํ ๋ฒ ๊ณต์ ๋ฃ์ ๋, ๊ณต์ ๋ฃ์ ๋ฐ๊ตฌ๋ ๋ฒ์๋ฅผ ์ ํ๊ณ , ์ ํ ๋ฐ๊ตฌ๋์ ๋ชจ๋ ๊ฐ์ ๋ฒํธ๊ฐ ์ ํ์๋ ๊ณต์ ๋ฃ๋๋ค. ๋ง์ฝ, ๋ฐ๊ตฌ๋์ ๊ณต์ด ์ด๋ฏธ ์๋ ๊ฒฝ์ฐ์๋ ๋ค์ด์๋ ๊ณต์ ๋นผ๊ณ , ์๋ก ๊ณต์ ๋ฃ๋๋ค. ๊ณต์ ๋ฃ์ ๋ฐ๊ตฌ๋๋ ์ฐ์๋์ด ์์ด์ผ ํ๋ค.
๊ณต์ ์ด๋ป๊ฒ ๋ฃ์์ง๊ฐ ์ฃผ์ด์ก์ ๋, M๋ฒ ๊ณต์ ๋ฃ์ ์ดํ์ ๊ฐ ๋ฐ๊ตฌ๋์ ์ด๋ค ๊ณต์ด ๋ค์ด ์๋์ง ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
โจ๏ธ ์ ๋ ฅ
์ฒซ์งธ ์ค์ N (1 โค N โค 100)๊ณผ M (1 โค M โค 100)์ด ์ฃผ์ด์ง๋ค.
๋์งธ ์ค๋ถํฐ M๊ฐ์ ์ค์ ๊ฑธ์ณ์ ๊ณต์ ๋ฃ๋ ๋ฐฉ๋ฒ์ด ์ฃผ์ด์ง๋ค. ๊ฐ ๋ฐฉ๋ฒ์ ์ธ ์ ์ i j k๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, i๋ฒ ๋ฐ๊ตฌ๋๋ถํฐ j๋ฒ ๋ฐ๊ตฌ๋๊น์ง์ k๋ฒ ๋ฒํธ๊ฐ ์ ํ์ ธ ์๋ ๊ณต์ ๋ฃ๋๋ค๋ ๋ป์ด๋ค. ์๋ฅผ ๋ค์ด, 2 5 6์ 2๋ฒ ๋ฐ๊ตฌ๋๋ถํฐ 5๋ฒ ๋ฐ๊ตฌ๋๊น์ง์ 6๋ฒ ๊ณต์ ๋ฃ๋๋ค๋ ๋ป์ด๋ค. (1 โค i โค j โค N, 1 โค k โค N)
๋ํ์ด๋ ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง ์์๋๋ก ๊ณต์ ๋ฃ๋๋ค.
๐จ๏ธ ์ถ๋ ฅ
1๋ฒ ๋ฐ๊ตฌ๋๋ถํฐ N๋ฒ ๋ฐ๊ตฌ๋์ ๋ค์ด์๋ ๊ณต์ ๋ฒํธ๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด ์ถ๋ ฅํ๋ค. ๊ณต์ด ๋ค์ด์์ง ์์ ๋ฐ๊ตฌ๋๋ 0์ ์ถ๋ ฅํ๋ค.
๐ ๋ฌธ์ ํ์ด
1. M๊ณผ N์ ์ ๋ ฅ๋ฐ๊ณ ํฌ๊ธฐ N์ ๋ฐฐ์ด์ ๋ง๋ ๋ค.
2. i, j, k๋ฅผ ์ ๋ ฅ ๋ฐ์ ํ for๋ฌธ์ ํตํด ๋ฐฐ์ด์ i-1๋ถํฐ j-1๊น์ง k๋ฅผ ์ ๋ ฅํ๋ค.
3. ๋ฐฐ์ด์ ์ถ๋ ฅํ๋ค.
์ด ๋ฌธ์ ๋ ์ ์ ํ๋ค๊ฐ ์์ธ์ง ์ถ๋ ฅ์ด ๋ค๋ฅด๊ฒ ๋์์ ์๋ฌธ์ ๋ชจ๋ฅด๊ฒ ๋ ๋ฌธ์ ์์๋ค. ์ํ๊ธฐ๊ฐ๋ ๋ค๊ฐ์ค๋ฉด์ ํด๊ฒฐ์ ๋ชปํ๊ณ ๊ทธ๋๋ก ๋์๋๋ฐ, ์๊ณ ๋ณด๋ ๋ง์ง๋ง ์ถ๋ ฅ for๋ฌธ์์ ์๋์ฒ๋ผ ์๋ชป ์ ์๋ค ....
for (int k : numarr) {
System.out.print(numarr[k] + " "); // (k + " ")
}
๊ธํ๊ฒ ๋ฌธ์ ๋ฅผ ๋ง์ด ํ๊ณ ์ถ์ด์ ์ ์ง๋ฅธ ๋ฐ๋ณด ๊ฐ์ ์ค์ .. ใ ใ
๐ฅ๏ธ ์์ฑ ์ฝ๋
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main {
public static void main(String args[]) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(bf.readLine()," ");
int n = Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
int[] numarr = new int[n];
for (int i = 0; i < m; i++) {
st = new StringTokenizer(bf.readLine()," ");
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
int c = Integer.parseInt(st.nextToken());
for (int j = a-1; j < b; j++) {
numarr[j] = c;
}
}
for (int k : numarr) {
System.out.print(k + " ");
}
}
}
'๐ algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค | ์ ์กฐ์ํ๊ธฐ1 JAVA(์๋ฐ) (1) | 2023.09.17 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค | ๋ง์ง๋ง ๋ ์์ JAVA (์๋ฐ) (0) | 2023.09.16 |
ํ๋ก๊ทธ๋๋จธ์ค | ์ด์ด ๋ถ์ธ ์ JAVA(์๋ฐ) (0) | 2023.09.15 |
JAVA | [๋ฐฑ์ค] ๋ฌธ์ ํ์ด ์์ (0) | 2023.06.06 |
JAVA | [ํ๋ก๊ทธ๋๋จธ์ค] ์กฐ๊ฑด ๋ฌธ์์ด (0) | 2023.06.05 |