TIL : ๋ฌธ์žฅ ๋‚ด ์•ŒํŒŒ๋ฒณ ์ตœ๋Œ€ ๋นˆ๋„์ˆ˜ ๊ตฌํ•˜๊ธฐ
728x90

 

Today, What I learned?

๋ณธ๊ฒฉ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋“ฑ๋ฐ˜ ๋‹ค์‹œ ์‹œ์ž‘์ด๋‹ค.. ๐Ÿฅน

์˜ค๋Š˜ ์—ฌ๋Ÿฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ’€์—ˆ๋Š”๋ฐ, ์Œ ์—ญ์‹œ ์‰ฝ์ง€ ์•Š๋‹ค...

์˜ค๋Š˜ ํŠœํ„ฐ๋‹˜์˜ ํŠน๊ฐ•์„ ๋“ค์œผ๋ฉฐ ๋ฆฌ๋งˆ์ธ๋“œ ํ•˜๊ณ  ์‹ถ์€ ๋ถ€๋ถ„์€ ์ด๋ ‡๋‹ค.

 

1. ์ฝ”๋“œ๋Š” ์งง๊ฒŒ ์งœ๋Š” ๊ฒŒ ํ•ต์‹ฌ! ์‰ฝ๊ณ  ๋น ๋ฅด๊ณ  ๊ฐ„๊ฒฐํ•˜๊ฒŒ ํ”„๋กœ๊ทธ๋žจ์„ ์งœ๋Š” ๊ฒŒ ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ๋ณธ์งˆ!

2. ๋‚˜์˜ ํ˜„์žฌ ์‹ค๋ ฅ์„ ์ž๊ธฐ ๊ฐ๊ด€ํ™”๋ฅผ ํ•˜์ž! ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค, ๋ฐฑ์ค€ ๋“ฑ์„ ์ด์šฉํ•ด ์ •๋Ÿ‰์  ์ฒดํฌ๋Š” ๋ค

3. ํ•œ๊ธ€๋กœ ๋กœ์ง์„ ๋จผ์ € ์ƒ๊ฐํ•ด๋ณด๊ณ  ์ฝ”๋“œ๋ฅผ ์งœ์ž.

 

์˜ค๋Š˜ ํ’€์—ˆ๋˜ ๋ช‡๋ช‡ ๋ฌธ์ œ๋“ค ์ค‘ ํŒŒ์ด์ฌ์œผ๋กœ๋„ ํ’€๊ณ , ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ๋„ ๋‹ค์‹œ ํ’€์–ด๋ณธ ๋ฌธ์ œ๋ฅผ ์ •๋ฆฌํ•ด๋ณธ๋‹ค.

 

 

๋ฌธ์žฅ ๋‚ด ์•ŒํŒŒ๋ฒณ ์ตœ๋Œ€ ๋นˆ๋„์ˆ˜ ๊ตฌํ•˜๊ธฐ

๋ฌธ์žฅ ์•ˆ์—์„œ ์•ŒํŒŒ๋ฒณ ๋ณ„๋กœ ๋นˆ๋„์ˆ˜๋ฅผ ์นด์šดํŠธํ•ด์„œ ๊ฐ€์žฅ ๋นˆ๋„์ˆ˜๊ฐ€ ๋†’์€ ์•ŒํŒŒ๋ฒณ์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฌธ์ œ๋‹ค.

์ด ๋ฌธ์ œ๋Š” ํŒŒ์ด์ฌ์œผ๋กœ ํ’€๋ฉด ์ด๋Ÿฐ ๋ฐฉ๋ฒ•์œผ๋กœ๋„ ํ’€ ์ˆ˜ ์žˆ๋‹ค. (๋‹ค๋ฅธ ๋ฐฉ๋ฒ•๋„ ์กด์žฌํ•จ!)

 

๐Ÿ“ Python

input = "hello my name is sparta"


def find_max_occurred_alphabet(string):
    alphabet_occurrence_array = [0] * 26

    # ์•ŒํŒŒ๋ฒณ๋ณ„ ๋นˆ๋„์ˆ˜ ์ฒดํฌ
    for char in string:
        if not char.isalpha():
            continue

        index = ord(char) - ord('a')
        alphabet_occurrence_array[index] += 1

    max = 0
    max_index = 0
    for index, alphabet in enumerate(alphabet_occurrence_array):
        if alphabet > max:
            max = alphabet
            max_index = index

    return chr(max_index + ord('a'))

result = find_max_occurred_alphabet(input)
print(result)

์•„์Šคํ‚ค ์ฝ”๋“œ๋ฅผ ์ด์šฉํ•œ ํ’€์ด์ธ๋ฐ, ํ’€๊ธฐ ์œ„ํ•œ ๋กœ์ง ๊ตฌ์„ฑ์€ ์ด๋ ‡๋‹ค.

  • ์•ŒํŒŒ๋ฒณ ๊ฐœ์ˆ˜๋ณ„ ๋ฐฐ์—ด ์ƒ์„ฑํ•˜๊ธฐ
  • ๋นˆ๋„์ˆ˜ ์ฒดํฌํ•˜๊ธฐ (ord ํ•จ์ˆ˜ ์ด์šฉ)
  • ๋นˆ๋„์ˆ˜ ์ฒดํฌํ•œ ๋ฐฐ์—ด์—์„œ ์ตœ๋Œ“๊ฐ’ ์ฐพ๊ธฐ
  • ์ˆซ์ž๋ฅผ ๋‹ค์‹œ ๋ฌธ์žํ™”ํ•˜๊ธฐ

์ด ๊ณผ์ •์—์„œ ์•„์Šคํ‚ค ์ฝ”๋“œํ™”ํ•˜๋Š” ord() ํ•จ์ˆ˜์™€ ๋‹ค์‹œ ๋ฌธ์žํ™”ํ•˜๋Š” chr() ํ•จ์ˆ˜๋ฅผ ์ƒˆ๋กญ๊ฒŒ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค!

 

 

๐Ÿ“ JavaScript

๊ทธ๋ฆฌ๊ณ  ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ๋„ ํ’€์–ด๋ณด์•˜๋‹ค.
๋” ํšจ์œจ์ ์ธ ๋ฐฉ๋ฒ•์ด ์žˆ์„ ๊ฒƒ ๊ฐ™์ง€๋งŒ ๋‚ด ๋ฐฉ์‹์€ ์ผ๋‹จ ์ด๋ ‡๋‹ค. ๐Ÿ˜‡

function find_max_occurred_alphabet(string) {
  let alphabets = {};

  for (let i = 0; i < string.length; i++) {
    if (!isNaN(string[i])) {
      continue;
    }

    if (!alphabets.hasOwnProperty(string[i])) {
      alphabets[string[i]] = 1;
    } else {
      alphabets[string[i]] += 1;
    }
  }

  let max = 0;
  let alphabet = '';
  for (let i = 0; i < string.length; i++) {
    if (max < alphabets[string[i]]) {
      max = alphabets[string[i]];
      alphabet = string[i];
    }
  }

  return alphabet;
}

 

ํŒŒ์ด์ฌ์œผ๋กœ ํ’€์ดํ•œ ๋ฐฉ์‹๊ณผ ๋‹ค๋ฅด๊ฒŒ Object๋ฅผ ์ด์šฉํ•ด์„œ ๊ฐ ๋ฌธ์ž์— ๋Œ€ํ•œ ๋นˆ๋„์ˆ˜๋ฅผ ๋‹ด์œผ๋ ค๊ณ  ํ–ˆ๋‹ค!

์ฝ”๋“œ๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ํ’€์–ด๋ณด์ž๋ฉด,


isNaN() ํ•จ์ˆ˜๋Š” ์ˆซ์ž๊ฐ€ ์•„๋‹Œ์ง€ ํ™•์ธํ•  ๋•Œ ๋งŽ์ด ์“ฐ๋Š” ํ•จ์ˆ˜๋‹ค.
๋ฌธ์ž์ผ ๊ฒฝ์šฐ true๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ๊ฒŒ ๋˜์—ˆ๊ณ  ๊ณต๋ฐฑ์„ ๊ฑฐ๋ฅด๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•ด๋ณด์•˜๋‹ค.

 

for๋ฌธ์„ ๋Œ๋ฉด์„œ ์•ŒํŒŒ๋ฒณ ๊ฐ์ฒด์— ํ•ด๋‹น ํ‚ค๊ฐ€ ์—†์„ ๊ฒฝ์šฐ ์ƒˆ๋กญ๊ฒŒ ์ถ”๊ฐ€, ์žˆ๋‹ค๋ฉด ๊ธฐ์กด ๊ฐ’์— 1์„ ๋”ํ•œ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ฌธ์ž์—ด์— ๋Œ€ํ•ด ๋ฐ˜๋ณต๋ฌธ์„ ํ•œ๋ฒˆ ๋” ๋Œ๋ฉด์„œ ๊ฐ€์žฅ ๋นˆ๋„์ˆ˜๊ฐ€ ๋†’์€ ์•ŒํŒŒ๋ฒณ์„ ์ฐพ์•„๋‚ธ๋‹ค.

 

 

๐ŸŽˆ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋“ฑ๋ฐ˜์„ ์œ„ํ•œ ์•ž์œผ๋กœ์˜ ์•ก์…˜

  • ๊ฐ•์˜ ๋ฌธ์ œ๋“ค์„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ํ’€์–ด๋ณด๊ธฐ
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 0๋‹จ๊ณ„๋ถ€ํ„ฐ ํ˜„์žฌ ๋‚˜์—๊ฒŒ ๋„ˆ๋ฌด ์‰ฌ์šด ๋ฌธ์ œ๋“ค์„ ํŒจ์Šคํ•˜๊ณ  ๊พธ์ค€ํžˆ ๋‹จ๊ณ„๋ฅผ ๋†’์—ฌ๋ณด๊ธฐ
  • ์ž‘๋…„, ์žฌ์ž‘๋…„ ์ˆ˜์—… ๋•Œ ๋“ค์—ˆ๋˜ ์ž๋ฃŒ๊ตฌ์กฐ, ์•Œ๊ณ ๋ฆฌ์ฆ˜ PPT ๋‹ค์‹œ ์‹น ํ›‘๊ธฐ...

 

 

 

728x90