空き状況や欠員はありませんか?

空室があるかどうかを私たちに教えてくれるモーテルの標識を見てきました。

典型的には、モーテルに余裕がない場合は、 VACANCY という文字が点灯し、
NO という文字が点灯します。

チャレンジ

米国の平均的なモーテルには200の客室があります。

唯一の入力として T (撮影した部屋のための)整数をとるプログラム/関数を記述します。
あなたのプログラムは NO VACANCY という単語を表示します。
VACANCY の文字は赤で印刷されます。
T ≧200の場合、 NO の文字も赤で印刷されます。

For example, assuming a.out is your program and
“input” = command line argument:
enter image description here
(I typo’d and my system ignores case.)

ルール

  • Your program/function must display (or, if
    lambda, return)
    the exact string NO VACANCY, including case.
  • Your program/function may only set the text foreground color to
    red and not the background.
  • If you wish, you may use ANSI escape codes to print the red
    color – x1b[31m will work.
  • Your program/function may not change the text color of your
    shell after it finishes.
  • Your program/function must terminate normally.
  • Your program/function must print only to standard output.
  • Your program/function must use your shell/terminal/IDE’s
    default background color. (If you choose to have graphical output
    you may choose whatever color you like, except red.)
  • If T ≤ 200, the letters of
    NO must be printed in your shell/terminal/IDE’s
    default foreground color. (If you choose to have graphical output,
    once again you may choose whatever color you like)
  • If for some reason your shell/terminal/IDE’s default
    foreground/background color is red, you must print with a black
    background and a default white foreground.
  • If you choose to use graphical output, red may only be used
    when specified in the program (e.g. your background color or
    default text color may not be red).

勝者

As usual with , the shortest program wins! Brownie points for
graphical output.
I’ll accept the shortest answer in a week. Happy golfing!

リーダーボード

<div class=”snippet” data-lang=”js” data-hide=”false”
data-console=”true” data-babel=”false”> <div
class=”snippet-code”>

var QUESTION_ID=123146,OVERRIDE_USER=61563;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="

"+e.body.replace(OVERRIDE_REG,"")+"

")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/s.lang?1:e.langs*([^n,]*[^s,]),.*?(d+)(?=[^nd<>]*(?:<(?:s>[^n<>]*</s>|[^n<>]+>)[^nd<>]*)*</hd>)/,OVERRIDE_REG=/^Overrides*header:s*/i;
body{text-align:left!important}#answer-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px}
<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="answer-list"> 

リーダーボード

<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><div id="language-list"> 

Winners by Language

<table class="language-list"> <thead> <tr><td>Language</td><td>User</td><td>Score</td></tr></thead> <tbody id="languages"> </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>Link</td></tr></tbody> </table> <table style="display: none"> <tbody id="language-template"> <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td>Link</td></tr></tbody> </table>

</div> </div>

ベストアンサー

Javascript(ES6)、60バイト

スニペットを実行しているときにブラウザのコンソールを開いて、色付きの結果を確認してください。

screenshot

<div class=”snippet” data-lang=”js” data-hide=”false”
data-console=”true” data-babel=”false”> <div
class=”snippet-code”>

f=
n=>console.log((n>199?'%cNO':'NO%c')+' VACANCY','color:red')
<input oninput=f(this.value)>

</div> </div>

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です