최근 편집
최근 토론
게시판 메인
도구
투표
무작위 문서
스킨 설정
파일 올리기
기타 도구
216.73.216.107
IP
사용자 도구
사용자 설정
로그인
회원 가입
최근 편집
최근 토론
돌아가기
삭제
이동
파일 올리기
FizzBuzz 문제
(편집)
(불러오기)
(편집 필터 규칙)
[[분류:가져온 문서/오메가]] FizzBuzz Test 3의 배수는 Fizz, 5의 배수는 Buzz, 3과 5의 공배수는 FizzBuzz로 출력하는 프로그램의 개발 속도를 테스트하는 것이다. 알고리즘이 필요없을 정도로 단순한 문제이지만, 컴퓨터공학 전공자 중 25%가 해결하지 못했다고 한다. [[http://imranontech.com/2007/01/24/using-fizzbuzz-to-find-developers-who-grok-coding|#]] FizzBuzz 프로그램의 요구조건은 다음과 같다. * 1에서 100까지 출력 * 3의 배수인 경우 숫자 대신 Fizz를 출력 * 5의 배수인 경우 숫자 대신 Buzz를 출력 * 3과 5의 공배수인 경우 숫자 대신 FizzBuzz를 출력 이에 따라서 처음 15개 숫자에 대한 출력은 다음과 같다. * 1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, FizzBuzz 실제 통계에 따르면, 이 프로그램을 개발하는 데 현직 개발자는 3분, 신입은 10분, 구직자는 1시간이 걸렸다고 한다. 여러분이 프로그래밍을 배웠다면 한 번 프로젝트 생성에서 디버깅까지 얼마만큼의 시간이 걸리는지 측정해보라. == 실제 코드 == === [[C언어]] === {{{#!syntax C #include <stdio.h> int main(void) { for (int i = 1; i <= 100; i++) { if (i % 3 == 0) { if (i % 5 == 0) { printf("FizzBuzz\n"); } else { printf("Fizz\n"); } } else if (i % 5 == 0) { printf("Buzz\n"); } else { printf("%d", i); } } return 0; } }}} === C# === {{{#!syntax C# using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace FizzBuzzTest { class Program { static void Main(string[] args) { for (int i = 1; i <= 100; i++) { if (i % 3 == 0) { if (i % 5 == 0) { Console.WriteLine("FizzBuzz"); } else { Console.WriteLine("Fizz"); } } else if (i % 5 == 0) { Console.WriteLine("Buzz"); } else { Console.WriteLine(i); } } } } } }}} === ActionScript 3.0=== {{{#!syntax ActionScript for(i=1; i<101; i++){ if(i%3 == 0 && i%5 ==0){ trace("FizzBuzz") } else if(i%3 == 0){ trace("Fizz") } else if(i%5 == 0){ trace("Buzz") } else { trace(i) } } }}} ===Mathematica === {{{#!syntax Mathematica Table[Which[Divisible[n, 15], "FizzBuzz", Divisible[n, 3], "Fizz", Divisible[n, 5], "Buzz", True, n], {n, 1, 100}] }}} === GML === GML은 출력 기능이 없으므로 show_message로 대체한다. {{{#!syntax GML for(i=1; i<101; i+=1){ if i mod 3 = 0 { if i mod 5 = 0{ show_message("FizzBuzz"); } else { show_message("Fizz"); } } else if i mod 5 = 0 { show_message("Buzz"); } else { show_message(i); } if i=100 { game_end(); } } }}} == 영상 == [youtube(1gx1kdMbpjI)] == 트리비아 == 단순하면서도 효과적이라 다른 숫자나 문자열을 사용하거나, 조건을 추가하거나, 범위를 변경하는 등 다양한 변형이 존재한다. [Include(틀:가져옴2,O=오메가, C=[[https://creativecommons.org/licenses/by-nc-sa/3.0/deed.ko|CC BY-NC-SA 3.0]])]
(임시 저장)
(임시 저장 불러오기)
기본값
모나코 에디터
normal
namumark
namumark_beta
macromark
markdown
custom
raw
(↪️)
(💎)
(🛠️)
(추가)
[[분류:가져온 문서/오메가]] FizzBuzz Test 3의 배수는 Fizz, 5의 배수는 Buzz, 3과 5의 공배수는 FizzBuzz로 출력하는 프로그램의 개발 속도를 테스트하는 것이다. 알고리즘이 필요없을 정도로 단순한 문제이지만, 컴퓨터공학 전공자 중 25%가 해결하지 못했다고 한다. [[http://imranontech.com/2007/01/24/using-fizzbuzz-to-find-developers-who-grok-coding|#]] FizzBuzz 프로그램의 요구조건은 다음과 같다. * 1에서 100까지 출력 * 3의 배수인 경우 숫자 대신 Fizz를 출력 * 5의 배수인 경우 숫자 대신 Buzz를 출력 * 3과 5의 공배수인 경우 숫자 대신 FizzBuzz를 출력 이에 따라서 처음 15개 숫자에 대한 출력은 다음과 같다. * 1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, FizzBuzz 실제 통계에 따르면, 이 프로그램을 개발하는 데 현직 개발자는 3분, 신입은 10분, 구직자는 1시간이 걸렸다고 한다. 여러분이 프로그래밍을 배웠다면 한 번 프로젝트 생성에서 디버깅까지 얼마만큼의 시간이 걸리는지 측정해보라. == 실제 코드 == === [[C언어]] === {{{#!syntax C #include <stdio.h> int main(void) { for (int i = 1; i <= 100; i++) { if (i % 3 == 0) { if (i % 5 == 0) { printf("FizzBuzz\n"); } else { printf("Fizz\n"); } } else if (i % 5 == 0) { printf("Buzz\n"); } else { printf("%d", i); } } return 0; } }}} === C# === {{{#!syntax C# using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace FizzBuzzTest { class Program { static void Main(string[] args) { for (int i = 1; i <= 100; i++) { if (i % 3 == 0) { if (i % 5 == 0) { Console.WriteLine("FizzBuzz"); } else { Console.WriteLine("Fizz"); } } else if (i % 5 == 0) { Console.WriteLine("Buzz"); } else { Console.WriteLine(i); } } } } } }}} === ActionScript 3.0=== {{{#!syntax ActionScript for(i=1; i<101; i++){ if(i%3 == 0 && i%5 ==0){ trace("FizzBuzz") } else if(i%3 == 0){ trace("Fizz") } else if(i%5 == 0){ trace("Buzz") } else { trace(i) } } }}} ===Mathematica === {{{#!syntax Mathematica Table[Which[Divisible[n, 15], "FizzBuzz", Divisible[n, 3], "Fizz", Divisible[n, 5], "Buzz", True, n], {n, 1, 100}] }}} === GML === GML은 출력 기능이 없으므로 show_message로 대체한다. {{{#!syntax GML for(i=1; i<101; i+=1){ if i mod 3 = 0 { if i mod 5 = 0{ show_message("FizzBuzz"); } else { show_message("Fizz"); } } else if i mod 5 = 0 { show_message("Buzz"); } else { show_message(i); } if i=100 { game_end(); } } }}} == 영상 == [youtube(1gx1kdMbpjI)] == 트리비아 == 단순하면서도 효과적이라 다른 숫자나 문자열을 사용하거나, 조건을 추가하거나, 범위를 변경하는 등 다양한 변형이 존재한다. [Include(틀:가져옴2,O=오메가, C=[[https://creativecommons.org/licenses/by-nc-sa/3.0/deed.ko|CC BY-NC-SA 3.0]])]
비로그인 상태입니다. 편집한 내용을 저장하면 지금 접속한 IP가 기록됩니다.
편집을 전송하면 당신은 이 문서의 기여자로서 본인이 작성한 내용이
CC BY 4.0
에 따라 배포되고, 기여한 문서의 하이퍼링크나 URL로 저작자 표시가 충분하다는 것에 동의하는 것입니다.
전송
미리보기