🎍
遊びながらプログラミングの勉強ができるコレクション
社内のDojo で喋ったネタ。
コードゴルフはコンピュータプログラミング・コンテストの一種。参加者は与えられたアルゴリズムを、可能な限りもっとも短いソースコードで記述することを競う[1]。バイナリサイズではなく、ソースコードの文字数がスコアとなる
Wikipedia
例えばFizzBuzz問題のCodeGolf解説がこちら
Code Golf
例として 99 bottles of beer
Display the complete lyrics for the song: 99 Bottles of Beer on the Wall.
→「"99 Bottles of Beer on the Wall." の歌詞を表示するプログラムを書け」
等など、アドベントカレンダーの中で99本のビールでCode Golf というやつを少し書いたが同じく、冬休みの自学自習のお供に良さそうなプログラミングゲーム的課題。
CodeGolf
FizzBuzz
基本
public class FizzBuzz {
public static void main(String[] args) {
for (int number = 1; number <= 100; number++) {
if (number % 15 == 0) {
System.out.println("FizzBuzz");
} else if (number % 3 == 0) {
System.out.println("Fizz");
} else if (number % 5 == 0) {
System.out.println("Buzz");
} else {
System.out.println(number);
}
}
}
}
CodeGolf
public class FB{
public static void main(String[] args) {
String r="";
for (int n = 1; n <= 100; n++) {
if (n % 15 == 0) {
r="FizzBuzz";
} else if (n % 3 == 0) {
r="Fizz";
} else if (n % 5 == 0) {
r="Buzz";
} else {
r=""+n;
};
System.out.println(r);
}}}
からの
class FB{public static void main(String[] a) {String r="";for(int n=1;n<=100;n++){if (n%15==0){r="FizzBuzz";} else if (n % 3 == 0){r="Fizz";}else if(n%5==0){r="Buzz";} else{r=""+n;};System.out.println(r);}}}
で、私は今84位に居る。という感じ。
Christmas Tree
CodeGolf
class ChristmasTree {
public static void main(String[] args) {
String out="";
for(int i=3;i<10;i++) {
switch (i) {
case 3:
out=" *\n ***\n *****\n * \n";
break;
case 4:
out=" *\n ***\n *****\n *******\n *\n";
break;
case 5:
out=" *\n ***\n *****\n *******\n *********\n *\n";
break;
case 6:
out=" *\n ***\n *****\n *******\n *********\n ***********\n *\n";
break;
case 7:
out=" *\n ***\n *****\n *******\n *********\n ***********\n *************\n *\n";
break;
case 8:
out=" *\n ***\n *****\n *******\n *********\n ***********\n *************\n ***************\n *\n";
break;
case 9:
out=" *\n ***\n *****\n *******\n *********\n ***********\n *************\n ***************\n *****************\n *\n";
break;}System.out.println(out);}}}
その他
等、言語の習得やアルゴリズムの学習に最適 オンラインジャッジサイト一覧(2020/ 3 版) 参照のこと。
フロントエンドの練習に良い
Codepen
javascriptのチュートリアル
javascript.info
LeetCode
問題数 900以上 (Problem set. 他にもいろんな問題があるよう)
Google, Amazon, Appleなどの大手企業で出されたという問題があるらしい
Peking University Judge online
30secondsofcode
そのうちもっと試したらQiitaに書くかもしれない。
Discussion