단어 공부 (1157)
Created:
주어진 단어에서 제일 많은 알파벳은?
Bash
Bash 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
read str
str="${str^^}"
arr=(0 "")
for x in {A..Z}; do
cnt=${str//[^$x]/}
cnt=${#cnt}
if [ $cnt == 0 ]; then
continue
elif [ "${arr[0]}" -le $cnt ]; then
if [ $arr -lt $cnt ]; then
arr[0]=$cnt
arr[1]=""
fi
arr[1]+=$x
fi
done
test ${#arr[1]} == 1 && echo ${arr[1]} || echo ?
${var^^}
: 모두 대문자로 변환
${var,,}
: 모두 소문자로 변환
하지만 시간 초과..
Node.js
JavaScript 1
2
3
4
5
6
7
8
9
10
11
12
13
14
const str = require("fs").readFileSync(0).toString().trim().toUpperCase().split("");
const set = str.filter((r, i) => { return str.indexOf(r) == i; });
let arr = [0, ""];
for (let x of set) {
let n = str.filter(s => s == x).length;
if (arr[0] <= n) {
if (arr[0] < n) {
arr[0] = n;
arr[1] = "";
}
arr[1] += x;
}
}
console.log(arr[1].length == 1 ? arr[1] : "?");
Python3
Python 1
2
3
4
5
6
7
8
9
10
11
a = input().upper()
ls = set(a)
arr = [0, ""]
for x in ls:
n = a.count(x)
if arr[0] <= n:
if arr[0] < n:
arr[0] = n
arr[1] = ""
arr[1] += x
print(arr[1] if len(arr[1])==1 else "?")
Ruby
Ruby 1
2
3
4
5
6
7
8
9
10
11
12
13
14
str = gets.chomp.upcase()
set = ("A".."Z").to_a & str.split("")
arr = [0, ""]
for x in set
n = str.count(x)
if arr[0] <= n
if arr[0] < n
arr[0] = n
arr[1] = ""
end
arr[1] += x
end
end
puts arr[1].size == 1 ? arr[1] : "?"
and 연산을 이용하여 A to Z 중 입력받은 문자열에 존재하는 알파벳만 남기는 방식.