최근 편집
최근 토론
게시판 메인
도구
투표
무작위 문서
스킨 설정
파일 올리기
기타 도구
216.73.216.84
IP
사용자 도구
사용자 설정
로그인
회원 가입
최근 편집
최근 토론
[12:06:41] 07th Expansio...
[12:06:22] 비스크돌은 사랑을 한다 ...
[22:28:23] 몰락영애 아니거든요!
[20:33:31] 홍진호
[20:33:17] SCP-1170
[23:56:07] 응 아니야
[12:16:26] 잡썰일지/2023-202...
[02:26:44] 잡썰일지
[02:26:31] 잡썰일지/2023-202...
[21:34:17] 운영일지
돌아가기
삭제
이동
파일 올리기
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로 저작자 표시가 충분하다는 것에 동의하는 것입니다.
전송
미리보기