๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ์žฅ์›์ต ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ
๐Ÿ’ป Computer Science/- Data Structure, Algorithm

[์•Œ๊ณ ๋ฆฌ์ฆ˜ PS] ๋ฐฑ์ค€ 10809๋ฒˆ ์•ŒํŒŒ๋ฒณ ์ฐพ๊ธฐ ์ž๋ฐ” ๋ฌธ์ œ ํ’€์ด

by Wonit 2021. 2. 3.

๋ฌธ์ œ

ํ•ด๋‹น ํฌ์ŠคํŒ…์€ ๋ฐฑ์ค€์˜ 10809๋ฒˆ ์•ŒํŒŒ๋ฒณ ์ฐพ๊ธฐ ์˜ ์ ‘๊ทผ๊ณผ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•œ ๊ธ€ ์ž…๋‹ˆ๋‹ค.
์ •๋‹ต ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•˜์‹œ๋ ค๋ฉด solve url ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ๋จผ์ € ์ƒ๊ฐํ•ด๋ณด์ž.

 

ํ•ด๊ฒฐ๋ฒ•

์ด๋ฒˆ ๋ฌธ์ œ๋Š” ๋ฐ”๋กœ ์•ž์„œ ํ’€์—ˆ๋˜ ๋ฌธ์ œ ์•ŒํŒŒ๋ฒณ ๊ฐœ์ˆ˜์™€ ๋™์ผํ•œ ๋ฌธ์ œ์ธ๋ฐ, ์กฐ๊ฑด๋งŒ ์กฐ๊ธˆ ๋‹ค๋ฅด๋‹ค.

 

์ด ๋ฌธ์ œ๋ฅผ ๋ด๋ณด์ž.

์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋‹จ์–ด S๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ๊ฐ์˜ ์•ŒํŒŒ๋ฒณ์— ๋Œ€ํ•ด์„œ, ๋‹จ์–ด์— ํฌํ•จ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ์—๋Š” ์ฒ˜์Œ ๋“ฑ์žฅํ•˜๋Š” ์œ„์น˜๋ฅผ, ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ์—๋Š” -1์„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์—ฌ๊ธฐ์„œ ์กฐ๊ฑด์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.


์šฐ๋ฆฌ๊ฐ€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ๊ผญ ๊ฑฐ์ณ์•ผํ•  ์กฐ๊ฑด๋“ค์„ ๋ฝ‘์•„๋ณด์ž.

 

  1. ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž
  2. ์ฒ˜์Œ์— ๋“ฑ์žฅํ•˜๋Š” ์œ„์น˜
  3. ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ -1 ์ถœ๋ ฅ

์ ‘๊ทผ๋ฒ•

์œ„์˜ 3๊ฐ€์ง€ ์กฐ๊ฑด์— ์˜ํ•ด์„œ ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋ฉด ๋œ๋‹ค.

์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž.

์šฐ์„  ๋ชจ๋“  ์ž…๋ ฅ์€ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋ผ๊ณ  ํ•œ๋‹ค.


๊ทธ๋Ÿผ ์ž…๋ ฅ์„ ์ฒ˜๋ฆฌํ•  ๋•Œ ์•ŒํŒŒ๋ฒณ ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” - 'a'๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์ฒ˜์Œ ๋“ฑ์žฅํ•˜๋Š” ์œ„์น˜

์ด ๋ฌธ์ œ๋Š” ๊ฐœ์ˆ˜๋ฅผ ์„ธ์•„๋ฆฌ๋Š”๊ฒŒ ์•„๋‹ˆ๊ณ  ์–ธ์ œ ์ฒ˜์Œ ๋“ฑ์žฅํ–ˆ๋Š”์ง€๋งŒ ์ฐพ์œผ๋ฉด ๋œ๋‹ค.


๊ทธ๋ž˜์„œ ์ง€๋‚œ ์•ŒํŒŒ๋ฒณ ์ฐพ๊ธฐ ์ฒ˜๋Ÿผ ๋ˆ„์ ํ•ฉ์„ ํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๊ณ  ์ฒ˜์Œ์œผ๋กœ ๋“ฑ์žฅํ•œ ์ธ๋ฑ์Šค๋งŒ ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค.


์šฐ๋ฆฌ๋Š” ์ด ๊ฒ€์‚ฌ๋ฅผ ์•ŒํŒŒ๋ฒณ ์ธ๋ฑ์Šค๊ฐ€ -1์ด ์•„๋‹ ๋•Œ๋งŒ ๊ฐ’์„ ๋„ฃ๊ธฐ๋กœ ํ•˜๋ฉด ๋œ๋‹ค.

 

ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ -1 ์ถœ๋ ฅ

ํ•ด๋‹น ์กฐ๊ฑด์„ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋งˆ์ง€๋ง‰ ์ถœ๋ ฅ์— ์กฐ๊ฑด๋ฌธ ์ฒ˜๋ฆฌ๋ฅผ ํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ ์•„์˜ˆ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋ชจ๋“  ๋ฐฐ์—ด ๊ฐ’๋“ค์„ -1๋กœ ์ดˆ๊ธฐํ™” ์‹œํ‚ค๋ฉด ๋งˆ์ง€๋ง‰ ๊ณผ์ •์„ ๊ฑฐ์น˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค.


๋ฌผ๋ก  ์‹œ๊ฐ„์ ์œผ๋กœ๋Š” ์ค‘๋ณต ๋ฐ˜๋ณต์ด ์—†๋Š” ์ „์ž๊ฐ€ ๋” ํšจ์œจ์ ์ผ ์ˆ˜ ์žˆ๋‹ค.


ํ•˜์ง€๋งŒ ๋ฌธ์ œ์˜ ์กฐ๊ฑด์„ ์ •ํ™•ํžˆ ์ง€ํ‚ค๊ณ  ํ•˜๋‚˜์”ฉ ์ง€์›Œ๊ฐ„๋‹ค๋Š” ๋ฌธ์ œํ’€์ด ์ „๋žต์— ๋”์šฑ ๋ถ€ํ•ฉํ•˜๋Š” ํ›„์ž๋ฅผ ์„ ํƒํ•˜๋ ค ํ•œ๋‹ค.

java.util.Arrays.fill(int[] arr, int value);

๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ๊ฐ’์„ ๋ฐฐ์—ด์— fillํ•  ์ˆ˜ ์žˆ๋‹ค.

์ •๋‹ต ์ฝ”๋“œ

public class Main {
  public static void main(String[] args) throws IOException{
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

    char[] s = br.readLine().toCharArray();

    int[] alphabet = new int[26];

    Arrays.fill(alphabet, -1);

    for(int i = 0; i < s.length; i++) {
      if(alphabet[s[i] - 'a'] == -1) lphabet[s[i] - 'a'] = i;
    }

    for(int i = 0; i < alphabet.length; i++) {
      bw.write(alphabet[i] + " ");
    }

    bw.flush();
    bw.close();
  }
}

์ •๋‹ต ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•˜์‹œ๋ ค๋ฉด solve url ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

๋Œ“๊ธ€