[過去ログ] プログラミングのお題スレ Part13 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
410
(7): 2019/02/27(水)19:25 ID:sZAuINQ9(1)調 AAS
お題
英今文字からなる文字列が与えられる。
各文字の大文字、小文字の組み合わせをすべて求める。
"ab"の場合
ab
aB
Ab
AB
414
(1): 2019/02/27(水)21:30 ID:WT+xSYik(1)調 AAS
>>410 JavaScript
const acorn = s => {
for (let i=0; i < 2**s.length; i++) {
console.log([...s]
.reduce((acc, c, j) => acc+String.fromCharCode(c.charCodeAt() - 32 * i.toString(2).padStart(s.length, 0)[j]), '')
);
}
}
acorn('ab'); // の実行結果:
ab
aB
Ab
AB
acorn('ufo'); // の実行結果:
ufo
ufO
uFo
uFO
Ufo
UfO
UFo
UFO
415: 2019/02/28(木)04:32 ID:oRFlldUh(1)調 AAS
>>410
Kotlin
https://paiza.io/projects/y4eoD5DUuLdHi6S6hcFvrw
416: 2019/02/28(木)06:17 ID:9oEuhY5c(1)調 AAS
>>410 Ruby
s = "ufo"
a = []
s.each_char do |c| a.push([c, c.upcase]) end
b = a[0]
a[1..-1].each do |e| b = b.product(e) end
b.each do |e| puts(e.join) end
417: 2019/02/28(木)08:43 ID:qFD89Rtd(1)調 AAS
>>410 Squeak Smalltalk(#perform: を二変数ブロックにすればPharoでも動く)

| fn |
fn := [:str |
| ans |
ans := OrderedCollection new.
#(asLowercase asUppercase) asDigitsToPower: str size do: [:comb |
ans add: (str with: comb collect: #perform:)
].
ans asArray
].

fn value: 'ab'. "=> #('ab' 'aB' 'Ab' 'AB') "
fn value: 'ufo'. "=> #('ufo' 'ufO' 'uFo' 'uFO' 'Ufo' 'UfO' 'UFo' 'UFO') "
419: 2019/02/28(木)10:31 ID:PtOlEBM/(1)調 AAS
>>410 Ruby
def f(s)
a=s.chars.map{|c|[c,c.upcase]}
a.shift.product(*a).map(&:join)
end
p f("abc")

["abc", "abC", "aBc", "aBC", "Abc", "AbC", "ABc", "ABC"]
443: 2019/02/28(木)22:33 ID:lyW2+AsV(1)調 AAS
>>410 ruby
https://ideone.com/lGQ1lX
f = -> s {[''].product(*s.chars.map {|c| [c, c.upcase]}).map(&:join)}
p %W(#{} a ab).map {|s| [s, f.(s)]}

[["", [""]], ["a", ["a", "A"]], ["ab", ["ab", "aB", "Ab", "AB"]]]
565: 2019/03/09(土)08:53 ID:irV15TzB(1)調 AAS
>>410 J
f =: 3 : 0
 > , { ;/(,. toupper) y
)
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.031s