ํƒœ๊ทธ ๋ณด๊ด€๋ฌผ: code-golf

code-golf

๋ˆ ์šฐํŽธ ๋ฒˆํ˜ธ ๋ฐ ์ •๋ ฌ true, comment_page; function

๋ฌธ์ž์—ด ๋ชฉ๋ก์ด ์ œ๊ณต๋˜๋ฉด ๊ฐ ์œ„์น˜์˜ ๊ฐ ๋ฌธ์ž์—ด์—์„œ ๋ฌธ์ž๋ฅผ ๊ฐ€์ ธ ์™€์„œ ASCII ์„œ์ˆ˜๋กœ ์ •๋ ฌํ•˜๊ณ  ์ถœ๋ ฅ ๋ฌธ์ž์—ด์— ์ˆœ์„œ๋Œ€๋กœ ์ถ”๊ฐ€ํ•˜์—ฌ ๊ตฌ์„ฑ๋œ ๋‹จ์ผ ๋ฌธ์ž์—ด์„ ์ถœ๋ ฅํ•˜์‹ญ์‹œ์˜ค. ์ฆ‰, n์ž…๋ ฅ ๋ฌธ์ž์—ด n์˜ ๊ฒฝ์šฐ ์ถœ๋ ฅ์˜ ์ฒซ ๋ฒˆ์งธ ๋ฌธ์ž๋Š” ์„œ์ˆ˜๋กœ ์ •๋ ฌ ๋œ ๊ฐ ์ž…๋ ฅ์˜ ์ฒซ ๋ฒˆ์งธ n๋ฌธ์ž๊ฐ€๋˜๊ณ , ์ถœ๋ ฅ์˜ ๋‘ ๋ฒˆ์งธ ๋ฌธ์ž๋Š” ์„œ์ˆ˜๋กœ ์ •๋ ฌ ๋œ ๊ฐ ์ž…๋ ฅ์˜ ๋‘ ๋ฒˆ์งธ ๋ฌธ์ž๊ฐ€๋ฉ๋‹ˆ๋‹ค. ์˜ ์œ„์—. ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๊ฐ€ ๋ชจ๋‘ ๊ฐ™๊ณ  ํ•˜๋‚˜ ์ด์ƒ์˜ ๋ฌธ์ž์—ด์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ • ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๋ฌธ์ž์—ด์€ ASCII ์ธ์‡„ ๊ฐ€๋Šฅ ๋ฌธ์ž (๋‹จ์–ด 32-127)๋กœ๋งŒ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.

ํŒŒ์ด์ฌ์—์„œ ์ฐธ์กฐ ๊ตฌํ˜„ ( ์˜จ๋ผ์ธ ์‹œ๋„ ) :

def stringshuffle(strings):
  res = ''
  for i in range(len(strings[0])):
    res += ''.join(sorted([s[i] for s in strings],key=ord))
  return res

์˜ˆ :

"abc","cba" -> "acbbac"
"HELLO","world","!!!!!" -> "!Hw!Eo!Lr!Ll!Od"

๊ทœ์น™

  • ํ‘œ์ค€ ํ—ˆ์ ์€ ๊ธˆ์ง€๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค
  • ์ด๊ฒƒ์€ ์ด๋ฏ€๋กœ ๋ฐ”์ดํŠธ ๋‹จ์œ„์˜ ์ตœ๋‹จ ๋‹ต๋ณ€์ด ์Šน๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๋ฆฌ๋” ๋ณด๋“œ

์ด ๊ฒŒ์‹œ๋ฌผ์˜ ํ•˜๋‹จ์—์žˆ๋Š” ์Šคํƒ ์Šค ๋‹ˆํŽซ์€ ๋‹ต๋ณ€ a) ์–ธ์–ด๋ณ„๋กœ ๊ฐ€์žฅ ์งง์€ ์†”๋ฃจ์…˜ ๋ชฉ๋ก์œผ๋กœ, b) ์ „์ฒด ๋ฆฌ๋” ๋ณด๋“œ๋กœ ๋‹ต๋ณ€์—์„œ ๋ฆฌ๋” ๋ณด๋“œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

๋‹ต๋ณ€์ด ํ‘œ์‹œ๋˜๋„๋กํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋งˆํฌ ๋‹ค์šด ํ…œํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ—ค๋“œ ๋ผ์ธ์œผ๋กœ ๋‹ต๋ณ€์„ ์‹œ์ž‘ํ•˜์‹ญ์‹œ์˜ค.

## Language Name, N bytes

N์ œ์ถœ๋ฌผ์˜ ํฌ๊ธฐ๋Š” ์–ด๋””์— ์žˆ์Šต๋‹ˆ๊นŒ ? ๋‹น์‹ ์ด ๋‹น์‹ ์˜ ์ ์ˆ˜๋ฅผ ํ–ฅ์ƒ์‹œํ‚ฌ ๊ฒฝ์šฐ์—, ๋‹น์‹ ์€ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ๋ฅผ ํ†ตํ•ด ๋ˆˆ์— ๋„๋Š”์— ์˜ํ•ด, ํ—ค๋“œ ๋ผ์ธ์— ์˜ค๋ž˜๋œ ์ ์ˆ˜๋ฅผ ์œ ์ง€ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด :

## Ruby, <s>104</s> <s>101</s> 96 bytes

ํ—ค๋”์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ˆซ์ž๋ฅผ ํฌํ•จ ์‹œํ‚ค๋ ค๋ฉด (์˜ˆ : ์ ์ˆ˜๊ฐ€ ๋‘ ํŒŒ์ผ์˜ ํ•ฉ๊ณ„์ด๊ฑฐ๋‚˜ ์ธํ„ฐํ”„๋ฆฌํ„ฐ ํ”Œ๋ž˜๊ทธ ํŽ˜๋„ํ‹ฐ๋ฅผ ๋ณ„๋„๋กœ ๋‚˜์—ดํ•˜๋ ค๋Š” ๊ฒฝ์šฐ) ์‹ค์ œ ์ ์ˆ˜๊ฐ€ ํ—ค๋” ์˜ ๋งˆ์ง€๋ง‰ ์ˆซ์ž ์ธ์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค .

## Perl, 43 + 2 (-p flag) = 45 bytes

์–ธ์–ด ์ด๋ฆ„์„ ๋งํฌ๋กœ ๋งŒ๋“ค๋ฉด ์Šค ๋‹ˆํŽซ์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

## [><>](http://esolangs.org/wiki/Fish), 121 bytes
<style>body { text-align: left !important} #answer-list { padding: 10px; width: 290px; float: left; } #language-list { padding: 10px; width: 290px; float: left; } table thead { font-weight: bold; } table td { padding: 5px; }</style><script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"> <div id="language-list"> <h2>Shortest Solution by Language</h2> <table class="language-list"> <thead> <tr><td>Language</td><td>User</td><td>Score</td></tr> </thead> <tbody id="languages"> </tbody> </table> </div> <div id="answer-list"> <h2>Leaderboard</h2> <table class="answer-list"> <thead> <tr><td></td><td>Author</td><td>Language</td><td>Size</td></tr> </thead> <tbody id="answers"> </tbody> </table> </div> <table style="display: none"> <tbody id="answer-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr> </tbody> </table> <table style="display: none"> <tbody id="language-template"> <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr> </tbody> </table><script>var QUESTION_ID = 64526; var ANSWER_FILTER = "!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe"; var COMMENT_FILTER = "!)Q2B_A2kjfAiU78X(md6BoYk"; var OVERRIDE_USER = 45941; var answers = [], answers_hash, answer_ids, answer_page = 1, more_answers = true, comment_page; function answersUrl(index) { return "https://api.stackexchange.com/2.2/questions/" + QUESTION_ID + "/answers?page=" + index + "&pagesize=100&order=desc&sort=creation&site=codegolf&filter=" + ANSWER_FILTER; } function commentUrl(index, answers) { return "https://api.stackexchange.com/2.2/answers/" + answers.join(';') + "/comments?page=" + index + "&pagesize=100&order=desc&sort=creation&site=codegolf&filter=" + COMMENT_FILTER; } function getAnswers() { jQuery.ajax({ url: answersUrl(answer_page++), method: "get", dataType: "jsonp", crossDomain: true, success: function (data) { answers.push.apply(answers, data.items); answers_hash = []; answer_ids = []; data.items.forEach(function(a) { a.comments = []; var id = +a.share_link.match(/\d+/); answer_ids.push(id); answers_hash[id] = a; }); if (!data.has_more) more_answers = false; comment_page = 1; getComments(); } }); } function getComments() { jQuery.ajax({ url: commentUrl(comment_page++, answer_ids), method: "get", dataType: "jsonp", crossDomain: true, success: function (data) { data.items.forEach(function(c) { if (c.owner.user_id === OVERRIDE_USER) answers_hash[c.post_id].comments.push(c); }); if (data.has_more) getComments(); else if (more_answers) getAnswers(); else process(); } }); } getAnswers(); var SCORE_REG = /<h\d>\s*([^\n,<]*(?:<(?:[^\n>]*>[^\n<]*<\/[^\n>]*>)[^\n,<]*)*),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/; var OVERRIDE_REG = /^Override\s*header:\s*/i; function getAuthorName(a) { return a.owner.display_name; } function process() { var valid = []; answers.forEach(function(a) { var body = a.body; a.comments.forEach(function(c) { if(OVERRIDE_REG.test(c.body)) body = '<h1>' + c.body.replace(OVERRIDE_REG, '') + '</h1>'; }); var match = body.match(SCORE_REG); if (match) valid.push({ user: getAuthorName(a), size: +match[2], language: match[1], link: a.share_link, }); else console.log(body); }); valid.sort(function (a, b) { var aB = a.size, bB = b.size; return aB - bB }); var languages = {}; var place = 1; var lastSize = null; var lastPlace = 1; valid.forEach(function (a) { if (a.size != lastSize) lastPlace = place; lastSize = a.size; ++place; var answer = jQuery("#answer-template").html(); answer = answer.replace("{{PLACE}}", lastPlace + ".") .replace("{{NAME}}", a.user) .replace("{{LANGUAGE}}", a.language) .replace("{{SIZE}}", a.size) .replace("{{LINK}}", a.link); answer = jQuery(answer); jQuery("#answers").append(answer); var lang = a.language; lang = jQuery('<a>'+lang+'</a>').text(); languages[lang] = languages[lang] || {lang: a.language, lang_raw: lang.toLowerCase(), user: a.user, size: a.size, link: a.link}; }); var langs = []; for (var lang in languages) if (languages.hasOwnProperty(lang)) langs.push(languages[lang]); langs.sort(function (a, b) { if (a.lang_raw > b.lang_raw) return 1; if (a.lang_raw < b.lang_raw) return -1; return 0; }); for (var i = 0; i < langs.length; ++i) { var language = jQuery("#language-template").html(); var lang = langs[i]; language = language.replace("{{LANGUAGE}}", lang.lang) .replace("{{NAME}}", lang.user) .replace("{{SIZE}}", lang.size) .replace("{{LINK}}", lang.link); language = jQuery(language); jQuery("#languages").append(language); } }</script>


๋‹ต๋ณ€

GS2 , 4 ๋ฐ”์ดํŠธ

*รœโ– /

STDIN์—์„œ ์ค„ ๋ฐ”๊ฟˆ์œผ๋กœ ๊ตฌ๋ถ„ ๋œ ๋ฌธ์ž์—ด์„ ์ฝ์Šต๋‹ˆ๋‹ค.

์†Œ์Šค ์ฝ”๋“œ๋Š” CP437 ์ธ์ฝ”๋”ฉ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค . ์˜จ๋ผ์ธ์œผ๋กœ ์‚ฌ์šฉํ•ด๋ณด์‹ญ์‹œ์˜ค!

์‹œ์šด์ „

$ xxd -r -ps <<< '2a 9a fe 2f' > zip-sort.gs2
$ echo -e 'HELLO\nworld\n!!!!!' | gs2 zip-sort.gs2
!Hw!Eo!Lr!Ll!Od

์ž‘๋™ ์›๋ฆฌ

*       Split the input into the array of its lines.
 รœ      Zip the resulting array.
  โ–      Map the rest of the program over the resulting array.
   /        Sort.

๋‹ต๋ณ€

ํ•˜์Šค์ผˆ, 39 36 ๋ฐ”์ดํŠธ

import Data.List
(>>=sort).transpose

์‚ฌ์šฉ ์˜ˆ : ((>>=sort).transpose) ["HELLO","world","!!!!!"]-> "!Hw!Eo!Lr!Ll!Od".

๋ฌธ์ž์—ด ๋ชฉ๋ก์„ ๋ฐ”๊พธ๊ณ  ๊ทธ sort์œ„์— ๋งคํ•‘ ํ•˜๊ณ  ๊ฒฐ๊ณผ ๋ฌธ์ž์—ด ๋ชฉ๋ก์„ ์—ฐ๊ฒฐํ•˜์‹ญ์‹œ์˜ค ( >>=๋ชฉ๋ก ์ปจํ…์ŠคํŠธ๋Š”์ž…๋‹ˆ๋‹ค concatMap).


๋‹ต๋ณ€

Pyth, 5 ๋ฐ”์ดํŠธ

์šฐํŽธ ๋ฒˆํ˜ธ ( C) ์ž…๋ ฅ ( Q), MAPS๋Š” S์˜คํŠธ ๋‹ค์Œ sUMS.

sSMCQ

์˜จ๋ผ์ธ์œผ๋กœ ์‚ฌ์šฉํ•ด๋ณด์‹ญ์‹œ์˜ค .


๋‹ต๋ณ€

ํ‹ฐ ์Šคํฌ๋ฆฝํŠธ , 9 ๋ฐ”์ดํŠธ

_tยกรŸlpยก)ยต

TeaScript์—๋Š” ๋ชจ๋“  ์˜ฌ๋ฐ”๋ฅธ ๋‚ด์žฅ ๊ธฐ๋Šฅ์ด ์ž˜๋ชป๋œ ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์˜จ๋ผ์ธ์œผ๋กœ ์‚ฌ์šฉํ•ด๋ณด์‹ญ์‹œ์˜ค

์–ธ ๊ณจํ”„

_t()m(#lp())j``

์„ค๋ช…

_t()        // Transposes input array
    m(#     // Loops through inputs
       lp() // Sorts characters by char code
     )
j``         // Joins back into string

๋‹ต๋ณ€

CJam, 5 ๋ฐ”์ดํŠธ

q~z:$

์—ฌ๊ธฐ์„œ ์‚ฌ์šฉํ•ด๋ณด์‹ญ์‹œ์˜ค .


๋‹ต๋ณ€

ํŒŒ์ด์ฌ, 50 48 ๋ฐ”์ดํŠธ

lambda x,y=''.join:y(map(y,map(sorted,zip(*x))))

-2 ๋ฐ”์ดํŠธ๋ฅผ์œ„ํ•œ @xnor์—๊ฒŒ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!


๋‹ต๋ณ€

์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ (ES6), 57 ๋ฐ”์ดํŠธ

a=>a[0].replace(/./g,(c,i)=>a.map(w=>w[i]).sort().join``)