Tag - Bash

41~48/62
  • 구구단 (2739)

    2023-01-29 11:27:00 간단한 구구단 Bash read n for i in {1..9}; do echo $n \* $i = $((n * i)) done C #include <stdio.h> int main(void) { int n; scanf("%d", &n); for (int i=1; i<=9; i++) { printf("%d * %d = %d\n", n, i, n*i); } return 0; } Node.js let n = Number(require("fs").readFileSync(0).toString().trim()); for (let i=1; i<=9; i++) { console.log(`${n} * ${i} = ${n*i}`); } PHP <?php fscanf(STDIN, "%d", $n); for ($i=1; $i<=9; $i++) { echo "$n * $i = ".$n*$i."\n"; } ?> Python3 n = int(input()) for i in range(1, 10): print("{} * {} = {}".format(n, i, n*i)) Ruby n = gets.chomp.to_i for i in 1..9 puts "#{n} * #{i} = #{n*i}" end
  • 주세위 세개 (2480)

    2023-01-27 21:48:00 불법 도박 신고는 1855-0112.. Bash read a b c if [ $a == $b -a $b == $c ]; then coin=$((10000 + a*1000)) elif [ $a == $b -o $b == $c -o $a == $c ]; then d=$((b == c ? b : a)) coin=$((1000 + d*100)) else d=$((a < b ? b : a)) d=$((d < c ? c : d)) coin=$((d * 100)) fi echo $coin C #include <stdio.h> int main(void) { int a, b, c; scanf("%d %d %d", &a, &b, &c); if ( a == b && b == c ) { printf("%d", 10000+a*1000); } else if ( a == b || b == c || a == c ) { printf("%d", 1000 + (b == c ? b : a)*100); } else { a = a < b ? b : a; a = a < c ? c : a; printf("%d", a*100); } return 0; } Node.js let [a, b, c] = require("fs").readFileSync(0).toString().trim().split(" ").map(Number); let coin; if (a == b && b == c) { coin = 10000 + a*1000; } else if (a == b || b == c || a == c) { coin = 1000 + (b == c ? b : a)*100; } else { coin = Math.max(a, b, c)*100; } console.log(coin); PHP <?php fscanf(STDIN, "%d %d %d", $a, $b, $c); if ($a == $b && $b == $c) { $coin = 10000 + $a*1000; } else if ($a == $b || $b == $c || $a == $c ) { $coin = 1000 + ($b == $c ? $b : $a)*100; } else { $coin = max($a, $b, $c)*100; } echo $coin; ?> Python3 a, b, c = map(int, input().split()) if a==b and b==c: coin = 10000 + a*1000 elif a==b or b==c or a==c: coin = 1000 + (b if b==c else a)*100 else: coin = max(a, b, c)*100 print(coin) Ruby a, b, c = gets.chomp.split().map { |i| i.to_i } if a==b and b==c coin = 10000 + a*1000 elsif a==b or b==c or a==c coin = 1000 + (b==c ? b : a)*100 else coin = [a, b, c].max()*100 end puts coin
  • 오븐 시계 (2525)

    2023-01-27 21:35:00 조건문 문제를 조건문 없이 풀 수 있다..? Bash read a b read c ((b += c)) ((a += b/60)) ((a %= 24)) ((b %= 60)) echo $a $b C #include <stdio.h> int main(void) { int a, b, c; scanf("%d %d", &a, &b); scanf("%d", &c); b += c; a += b/60; a = a%24; b = b%60; printf("%d %d", a, b); return 0; } Node.js let [a, b, c] = require("fs").readFileSync(0).toString().trim().split(/ |\n/).map(Number); b += c; a += Math.floor(b/60); a = a%24; b = b%60; console.log(a, b); Number, Math.floor 대신 parseInt를 사용해도 된다. PHP <?php fscanf(STDIN, "%d %d", $a, $b); fscanf(STDIN, "%d", $c); $b += $c; $a += floor($b/60); $a = $a%24; $b = $b%60; echo "$a $b"; ?> Python3 a, b = map(int, input().split()) c = int(input()) b += c a += b//60 a = a%24 b = b%60 print(a, b) Ruby a, b = gets.chomp.split().map {|i| i.to_i} c = gets.chomp.to_i b += c a += b/60 a = a%24 b = b%60 puts "#{a} #{b}"
  • 알람 시계 (2884)

    2023-01-27 20:58:00 입력받은 시/분 중 분에 45분을 빼고 그 결과가 0보다 작으면 시간에 1을 빼고 분에 60을 더한다. 이때 if문을 사용하여 시간이 마이너스일 때 24를 더해줘야 하지만 if문을 사용하지 않고 해결할 수 있다. Bash read a b ((b -= 45)) if [ $b -lt 0 ]; then a=$(((a-1+24)%24)) ((b+=60)) fi echo $a $b Bash에도 다른 언어들처럼 += 연산자가 존재하긴 하지만, 덧셈이 아닌 문자열을 추가하기 위해 사용된다. 그러니까 b=1일 때 b+=1의 값은 2가 아닌 11이 된다. 그래서 -=, *=, /= 등과 같은 연산자는 존재하지 않는다. 단, $((...)), let 등 연산 명령어에서는 모두 사용할 수 있다. C #include <stdio.h> int main(void) { int a, b; scanf("%d %d", &a, &b); b -= 45; if ( b < 0 ) { a = (a-1+24)%24; b += 60; } printf("%d %d", a, b); return 0; } Node.js let [a, b] = require("fs").readFileSync(0).toString().trim().split(" ").map(Number); b -= 45; if (b < 0) { a = (a-1+24)%24; b += 60; } console.log(`${a} ${b}`); PHP <?php fscanf(STDIN, "%d %d", $a, $b); $b -= 45; if ($b < 0) { $a = ($a-1+24)%24; $b += 60; } echo "$a $b"; ?> Python3 a, b = map(int, input().split()) b -= 45 if b < 0: a = (a-1+24)%24 b += 60 print(a, b) Ruby a, b = gets.chomp.split().map {|i| i.to_i} b -= 45 if b < 0 a = (a-1+24)%24 b += 60 end puts "#{a} #{b}"
  • 사분면 고르기 (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