73~80/91
  • 사분면 고르기 (14681)

    2023-01-27 20:00:00 if문과 삼항 연산자. Bash read x read y if [ 0 -lt $x ]; then o=$((0 < y ? 1 : 4)) else o=$((0 < y ? 2 : 3)) fi echo $o C int main(void) { int x, y; scanf("%d %d", &x, &y); if (0 < x) { printf("%d\n", 0<y ? 1 : 4); } else { printf("%d\n", 0<y ? 2 : 3); } return 0; } Node.js const [x, y] = require("fs").readFileSync(0).toString().trim().split("\n").map(Number); let o; if (0 < x) { o = 0 < y ? 1 : 4; } else { o = 0 < y ? 2 : 3; } console.log(o); PHP <?php fscanf(STDIN, "%d", $x); fscanf(STDIN, "%d", $y); if (0 < $x) { $o = 0 < $y ? 1 : 4; } else { $o = 0 < $y ? 2 : 3; } echo $o; ?> Python3 x = int(input()) y = int(input()) if 0<x: o = 1 if 0<y else 4 else: o = 2 if 0<y else 3 print(o) Ruby x = gets.chomp.to_i y = gets.chomp.to_i if 0<x o = 0<y ? 1 : 4 else o = 0<y ? 2 : 3 end puts o
  • 윤년 (2753)

    2023-01-27 19:49:00 if와 else만 필요한 조건문은 대신 삼항 연산자를 사용하는 게 최고.. Bash read a test $((a%4)) == 0 -a $((a%100)) != 0 -o $((a%400)) == 0 && o=1 || o=0 echo $o $((...))와 같은 연산식 밖에서는 삼항 연산자가 별도로 존재하지 않지만 비슷하게 구현할 수 있다. C #include <stdio.h> int main(void) { int a; scanf("%d", &a); printf("%d\n", a%4 == 0 && a%100 != 0 || a%400 == 0 ? 1 : 0); return 0; } Node.js let a = Number(require("fs").readFileSync(0).toString().trim()); let o = a%4 == 0 && a%100 != 0 || a%400 == 0 ? 1 : 0; console.log(o); PHP <?php fscanf(STDIN, "%d", $a); $o = $a%4 == 0 && $a%100 != 0 || $a%400 == 0 ? 1 : 0; echo $o; ?> Python3 a = int(input()) o = 1 if a%4 == 0 and a%100 != 0 or a%400 == 0 else 0 print(o) Ruby a = gets.chomp.to_i o = (a%4 == 0 and a%100 != 0 or a%400 == 0) ? 1 : 0 puts o 괄호가 없으면 첫 조건문(a%4 == 0)의 결과안 true/false를 리턴한다.
  • 시험 성적 (9498)

    2023-01-27 19:37:00 이전 문제에서 조건만 많아진 if문 Bash read a o="F" if [ 90 -le $a ]; then o="A" elif [ 80 -le $a ]; then o="B" elif [ 70 -le $a ]; then o="C" elif [ 60 -le $a ]; then o="D" fi echo $o C #include <stdio.h> int main(void) { int a; scanf("%d", &a); if (90 <= a) { printf("A\n"); } else if (80 <= a) { printf("B\n"); } else if (70 <= a) { printf("C\n"); } else if (60 <= a) { printf("D\n"); } else { printf("F\n"); } return 0; } Node.js let a = Number(require("fs").readFileSync(0).toString().trim()); let o = "F"; if (90 <= a) { o = "A"; } else if (80 <= a) { o = "B"; } else if (70 <= a) { o = "C"; } else if (60 <= a) { o = "D"; } console.log(o); PHP <?php fscanf(STDIN, "%d", $a); $o = "F"; if (90 <= $a) { $o = "A"; } else if (80 <= $a) { $o = "B"; } else if (70 <= $a) { $o = "C"; } else if (60 <= $a) { $o = "D"; } echo $o; ?> Python3 a = int(input()) o = "F" if 90<=a: o = "A" elif 80<=a: o = "B" elif 70<=a: o = "C" elif 60<=a: o = "D" print(o) Ruby a = gets.chomp.to_i o = "F" if 90<=a; o = "A" elsif 80<=a; o = "B" elsif 70<=a; o = "C" elsif 60<=a; o = "D" end puts o
  • 두 수 비교하기 (1330)

    2023-01-27 18:24:00 간단한 if문 Bash read a b o="==" if [ $a -lt $b ]; then o="<" elif [ $a -gt $b ]; then o=">" fi echo $o [ 조건문 ]은 test 조건문 명령어의 다른 표현 방식이며, 더 자주 사용된다. test 명령어는 뒤에 오는 조건문이 참이면 0, 거짓이면 1을 리턴값으로 반환한다. Bash에서는 리턴값을 따로 출력하지 않으며 echo $? 명령어로 확인할 수 있다. -lt는 <, -gt는 > 대신 사용된다. <, >를 사용하려면 [ "0" < "$var" ]처럼 조건문에 사용되는 값을 따옴표로 감싸줘야 한다. C #include <stdio.h> int main(void) { int a, b; scanf("%d %d", &a, &b); printf("%s\n", a<b ? "<" : a>b ? ">" : "=="); return 0; } 중첩 삼항 연산자. Node.js let [a, b] = require("fs").readFileSync(0).toString().trim().split(" ").map(Number); let o = "=="; if (a < b) { o = "<"; } else if (a > b) { o = ">"; } console.log(o); PHP <?php fscanf(STDIN, "%d %d", $a, $b); $o = "=="; if ($a < $b) { $o = "<"; } else if ($a > $b) { $o = ">"; } echo $o; ?> Python3 a, b = map(int, input().split()) o = "==" if a<b: o = "<" elif a>b: o = ">" print(o) Ruby a, b = gets.chomp.split().map {|i| i.to_i} o = "==" if a<b o = "<" elsif a>b o = ">" end puts o
  • 새싹 (25083)

    2023-01-27 17:03:00 왜 얘만 언어제한? Bash echo " ,r'\"7 r\`-_ ,' ,/ \. \". L_r' \`~\/ | |" C #include <stdio.h> int main(void) { printf(" ,r'\"7\n"); printf("r`-_ ,' ,/\n"); printf(" \\. \". L_r'\n"); printf(" `~\\/\n"); printf(" |\n"); printf(" |\n"); } Node.js console.log(` ,r'"7 r\`-_ ,' ,/ \\. ". L_r' \`~\\/ | |`); PHP ,r'"7 r`-_ ,' ,/ \. ". L_r' `~\/ | | 언어제한이 걸려있어서 제출할 수는 없지만.. PHP는 어차피 복붙이니까.. Python3 print(""" ,r'"7 r`-_ ,' ,/ \. ". L_r' `~\/ | |""") Ruby puts " ,r'\"7 r`-_ ,' ,/ \\. \". L_r' `~\\/ | |"
  • 개 (10172)

    2023-01-27 16:47:00 몬생긴 개 Bash echo '|\_/| |q p| /} ( 0 )"""\ |"^"` | ||_/=\\__|' C #include <stdio.h> int main(void) { printf("|\\_/|\n"); printf("|q p| /}\n"); printf("( 0 )\"\"\"\\\n"); printf("|\"^\"` |\n"); printf("||_/=\\\\__|\n"); return 0; } Node.js console.log(` |\\_/| |q p| /} ( 0 )"""\\ |"^"\` | ||_/=\\\\__| `.trim()); PHP |\_/| |q p| /} ( 0 )"""\ |"^"` | ||_/=\\__| Python3 print(""" |\_/| |q p| /} ( 0 )"""\ |"^"` | ||_/=\\__| """.strip()) Ruby puts ' |\_/| |q p| /} ( 0 )"""\ |"^"` | ||_/=\\\__| '.strip
  • 고양이 (10171)

    2023-01-27 16:25:00 귀여운 고냥이. 역슬래시와 같이 특별한 기능으로 사용되는 문자를 출력할 때 주의해야 한다. Bash echo "\ /\\ ) ( ') ( / ) \(__)|" C #include <stdio.h> int main(void) { printf("\\ /\\\n"); printf(" ) ( ')\n"); printf("( / )\n"); printf(" \\(__)|\n"); return 0; } Node.js console.log(` \\ /\\ ) ( ') ( / ) \\(__)| `.trim()); PHP \ /\ ) ( ') ( / ) \(__)| Python3 print(""" \ /\\ ) ( ') ( / ) \(__)| """.strip()) Ruby puts " \\ /\\ ) ( ') ( / ) \\(__)| ".strip
  • 곱셈 (2588)

    2023-01-27 15:42:00 두 번째 수를 각 자리별로 잘라서 사용했다. Bash read a read b b3=${b::1} b2=${b:1:1} b1=${b:2} echo $((a * b1)) echo $((a * b2)) echo $((a * b3)) echo $((a * b)) Bash의 변수는 기본적으로 모두 문자열로 취급하며, 연산 시 알아서 숫자로 변환하는 특징을 가지고 있다. 필요시 declare 명령어로 자료형을 지정할 수도 있다. C #include <stdio.h> int main(void) { int a, b; scanf("%d", &a); scanf("%d", &b); int b1, b2, b3; b3 = b/100; b2 = (b-b3*100)/10; b1 = (b-b3*100)%10; printf("%d\n", a*b1); printf("%d\n", a*b2); printf("%d\n", a*b3); printf("%d\n", a*b); return 0; } Node.js let [a, b] = require("fs").readFileSync(0).toString().trim().split("\n").map(Number); let bs = (b+"").split("").map(Number); console.log(a*bs[2]); console.log(a*bs[1]); console.log(a*bs[0]); console.log(a*b); b+"" == String(b) PHP <?php fscanf(STDIN, "%d", $a); fscanf(STDIN, "%d", $b); $str = $b.""; list ($b3, $b2, $b1) = [$str[0], $str[1], $str[2]]; echo $a * $b1."\n"; echo $a * $b2."\n"; echo $a * $b3."\n"; echo $a * $b."\n"; ?> $b."" == strval($b) Python3 a = int(input()) b = int(input()) b3, b2, b1 = map(int, str(b)) print(a*b1) print(a*b2) print(a*b3) print(a*b) 숫자 385를 문자열로 바꾼 후 int로 매핑하면 리스트 [3, 8, 5]로 바뀐다. Ruby a = gets.chomp.to_i b = gets.chomp.to_i b3, b2, b1 = b.to_s.split("").map {|i| i.to_i} puts a*b1, a*b2, a*b3, a*b