01-08 08:57
Recent Posts
Recent Comments
Tags
- ICT๋ฉํ ๋ง
- ์๋์ด๋ ธ
- python
- ICT
- ํ์ด์
- mysql
- ํ์ด์๊ณต๋ชจ์
- TSQL
- RaspberryPi
- ์คํฝ๋ ํ
- Spring
- ict๊ณต๋ชจ์
- Naver Cloud
- appetizer
- API๋ง์ผํ๋ ์ด์ค
- JOBํ๊ณ
- DATABASE
- ์จ์ผ๋ํ
- API MarketPlace ๊ธ๋ก๋ฒ ์ํฌํฐ์ฆ
- SQL
- Java
- ์๋ฐ
- DB
- ํ์ด์ฌ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ํ๋ก๋ณด๋ ธ
- ์กํ๊ณ
- ์ด๋ธ์
- ์คํฝ์ค๋น
- linux
- Today
- Total
miinsun
[BAEKJOON] ๋ฐฑ์ค ๋์ ํฉ 16139 :: ์ธ๊ฐ-์ปดํจํฐ ์ํธ์์ฉ ๋ณธ๋ฌธ
Algorithm/Baekjoon
[BAEKJOON] ๋ฐฑ์ค ๋์ ํฉ 16139 :: ์ธ๊ฐ-์ปดํจํฐ ์ํธ์์ฉ
miinsun 2022. 4. 22. 19:54
๐ฌ ๋ฌธ์ ์ค๋ช
์น์ฌ๋ ์ธ๊ฐ-์ปดํจํฐ ์ํธ์์ฉ์์ ์์ฒด๊ณตํ ์ค๊ณ๋ฅผ ๊ณต๋ถํ๋ค๊ฐ ํค๋ณด๋ ์ํ์ด ์ค์ฉ์ ์ธ์ง ๊ถ๊ธํด์ก๋ค. ์ด๋ฅผ ์์๋ณด๊ธฐ ์ํด ์น์ฌ๋ ๋ค์๊ณผ ๊ฐ์ ์๊ฐ์ ํ๋ค.
'๋ฌธ์์ด์์ ํน์ ์ํ๋ฒณ์ด ๋ช ๋ฒ ๋ํ๋๋์ง ์์๋ด์ ์์ฃผ ๋ํ๋๋ ์ํ๋ฒณ์ด ์ค์ง๋ ๊ฒ์ง ์์น์ ์ค๋ ์ํ๋ฒณ์ธ์ง ํ์ธํ๋ฉด ์ค์ฉ์ ์ธ์ง ํ์ธํ ์ ์์ ๊ฒ์ด๋ค.'
์น์ฌ๋ฅผ ๋์ ํน์ ๋ฌธ์์ด S, ํน์ ์ํ๋ฒณ X์ ๋ฌธ์์ด์ ๊ตฌ๊ฐ [s, e]์ด ์ฃผ์ด์ง๋ฉด S์ s๋ฒ์งธ ๋ฌธ์๋ถํฐ e๋ฒ์งธ ๋ฌธ์ ์ฌ์ด์ X๊ฐ ๋ช ๋ฒ ๋ํ๋๋์ง ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ฌ๋ผ.
์น์ฌ๋ ๋ฌธ์์ด์ ๋ฌธ์๋ 0๋ฒ์งธ๋ถํฐ ์ธ๋ฉฐ, s๋ฒ์งธ์ e๋ฒ์งธ ๋ฌธ์๋ฅผ ํฌํจํด์ ์๊ฐํ๋ค.
์ฃผ์ํ ์ ์ ์น์ฌ๋ ํธ๊ธฐ์ฌ์ด ๋ง๊ธฐ์ (ํต๊ณ์ ์ผ๋ก ํฌ๊ฒ ๋ฌด์๋ฏธํ์ง๋ง) ๊ฐ์ ๋ฌธ์์ด์ ๋๊ณ ์ง๋ฌธ์ q๋ฒ ํ ๊ฒ์ด๋ค.
๐จ ์ ์ถ๋ ฅ ์
์ ๋ ฅ
- ์ฒซ ์ค์ ๋ฌธ์์ด S๊ฐ ์ฃผ์ด์ง๋ค.
- ๋ฌธ์์ด์ ๊ธธ์ด๋ 200,000์ ์ดํ์ด๋ฉฐ ์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ๊ตฌ์ฑ๋์๋ค.
- ๋ ๋ฒ์งธ ์ค์๋ ์ง๋ฌธ์ ์ q๊ฐ ์ฃผ์ด์ง๋ฉฐ, ๋ฌธ์ ์ ์๋ 1≤q≤200,000์ ๋ง์กฑํ๋ค.
- ์ธ ๋ฒ์งธ ์ค๋ถํฐ (q + 2)๋ฒ์งธ ์ค์๋ ์ง๋ฌธ์ด ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
- ๊ฐ ์ง๋ฌธ๋ง๋ค ์ค์ ๊ตฌ๋ถํด ์์๋๋ก ๋ต๋ณํ๋ค.
- i๋ฒ์งธ ์ค์ S์ s๋ฒ์งธ ๋ฌธ์๋ถํฐ e๋ฒ์งธ ๋ฌธ์ ์ฌ์ด์ X๊ฐ ๋ํ๋๋ ํ์๋ฅผ ์ถ๋ ฅํ๋ค.
์๋ธํ์คํฌ 1 (50์ )
๋ฌธ์์ด์ ๊ธธ์ด๋ 2,000์ ์ดํ, ์ง๋ฌธ์ ์๋ 2,000๊ฐ ์ดํ์ด๋ค.
์์ ์ ๋ ฅ 1)
seungjaehwang
4
a 0 5
a 0 6
a 6 10
a 7 10
์์ ์ถ๋ ฅ 1)
0
1
2
1
โ
๐ป Main.java
- ๋์ ํฉ์ 2์ฐจ์ ๋ฐฐ์ด sum์ ์ ์ฅํด์ค๋ค. [๋ช๋ฒ์งธ ๋ฌธ์์ธ์ง][์ด๋ค ์ํ๋ฒณ์ด ์ถ๊ฐ๋๋์ง]
- s๋ถํฐ e๊น์ง ๋์ ํฉ์ ๊ตฌํ๊ธฐ ์ํด์๋
- sum[e][์ฐพ์ ์ํ๋ฒณ ์ธ๋ฑ์ค] - sum[s-1][์ฐพ์ ์ํ๋ฒณ ์ธ๋ฑ์ค]
- ๋ง์ฝ ์์์ ์ด 0์ด๋ฉด ๊ทธ๋ฅ sum[e][์ฐพ์ ์ํ๋ฒณ ์ธ๋ฑ์ค]์ด ๋ต์ด ๋๋ค.
/* ๋ฐฑ์ค ๋์ ํฉ - 16139 :: ์ธ๊ฐ-์ปดํจํฐ ์ํธ์์ฉ */
import java.util.*;
import java.io.*;
public class Main{
public static void main(String[] args)throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String S = br.readLine();
int[][] sum = new int[S.length()][26];
// 1๋ฒ์งธ ์ด๊ธฐํ
sum[0][S.charAt(0) - 'a']++;
// 1~๋๊น์ง ๋์ ํฉ ๊ตฌํ๊ธฐ
for(int i = 1; i < S.length(); i++) {
int tmp = S.charAt(i) - 'a';
for(int j = 0; j < 26; j++) {
sum[i][j] = sum[i - 1][j];
}
sum[i][tmp]++;
}
int q = Integer.parseInt(br.readLine());
StringBuilder sb = new StringBuilder();
for(int i = 0; i < q; i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
char find = st.nextToken().charAt(0);
int s = Integer.parseInt(st.nextToken());
int e = Integer.parseInt(st.nextToken());
if(s == 0) {
sb.append(sum[e][find - 'a']).append('\n');
}
else {
sb.append(sum[e][find - 'a'] - sum[s - 1][find - 'a']).append('\n');
}
}
System.out.println(sb);
}
}
'Algorithm > Baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BAEKJOON] ๋ฐฑ์ค DFS 1012 :: ์ ๊ธฐ๋ ๋ฐฐ์ถ (0) | 2022.04.23 |
---|---|
[BAEKJOON] ๋ฐฑ์ค DFS 2606 :: ๋ฐ์ด๋ฌ์ค (0) | 2022.04.23 |
[BAEKJOON] ๋ฐฑ์ค ๋์ ํฉ 2559 :: ์์ด (0) | 2022.04.22 |
[BAEKJOON] ๋ฐฑ์ค ๋์ ํฉ 11659 :: ๊ตฌ๊ฐ ํฉ ๊ตฌํ๊ธฐ 4 (0) | 2022.04.22 |
[BAEKJOON] ๋ฐฑ์ค ์ฐ์ ์์ ํ 11279 :: ์ต๋ ํ (0) | 2022.04.21 |
Comments