Tag - Bash

49~56/62
  • 새싹 (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
  • 나머지 (10430)

    2023-01-27 14:08:00 그냥 입력값 받고 주어진 대로 연산만 하면 되는 문제. Bash read a b c echo $(((a + b) % c)) echo $((((a % c) + (b % c)) % c)) echo $(((a * b) % c)) echo $((((a % c) * (b % c)) % c)) C #include <stdio.h> int main(void) { int a, b, c; scanf("%d %d %d", &a, &b, &c); printf("%d\n", (a+b)%c); printf("%d\n", ((a%c)+(b%c))%c); printf("%d\n", (a*b)%c); printf("%d\n", ((a%c)*(b%c))%c); return 0; } Node.js let [a, b, c] = require("fs").readFileSync(0).toString().trim().split(" ").map(Number); console.log((a+b)%c); console.log(((a%c)+(b%c))%c); console.log((a*b)%c); console.log(((a%c)*(b%c))%c); PHP <?php fscanf(STDIN, "%d %d %d", $a, $b, $c); echo ($a+$b)%$c."\n"; echo (($a%$c) + ($b%$c))%$c."\n"; echo ($a*$b)%$c."\n"; echo (($a%$c) * ($b%$c))%$c."\n"; ?> Python3 a, b, c = map(int, input().split()) print( (a+b)%c ) print( ((a%c)+(b%c))%c ) print( (a*b)%c ) print( ((a%c)*(b%c))%c ) Ruby a, b, c = gets.chomp.split().map {|i| i.to_i} puts (a+b)%c puts ((a%c) + (b%c)) puts (a*b)%c puts ((a%c) * (b%c))
  • 킹, 퀸, 룩, 비숍, 나이트, 폰 (3003)

    2023-01-27 13:27:00 각 피스의 수에 입력받은 수를 빼면 된다. 배열 문제는 아니지만 배열을 사용하는 게 편해서.. 배열을 사용했다. Bash arr1=(1 1 2 2 2 8) read arr2 arr2=($arr2) for i in {0..5}; do echo -n $((arr1[i] - arr2[i]))" " done 입력받은 문자열을 arr2=($arr)를 사용하여 배열로 바꾼 것이다. Bash는 배열을 만들 때 쉼표가 아닌 공백을 기준으로 나누기 때문에 가능하다. 입력받을 때 a 옵션을 사용하여 바로 배열로 받을 수도 있다. (e.g. read -a arr2) {0..5} == 0 1 2 3 4 5 Bash의 for문은 in 뒤에 오는 모든 문자열을 순서대로 반복한다. C #include <stdio.h> int main(void) { int i[6] = {1, 1, 2, 2, 2, 8}; int a, b, c, d, e, f; scanf("%d %d %d %d %d %d", &a, &b, &c, &d, &e, &f); printf("%d %d %d %d %d %d\n", i[0]-a, i[1]-b, i[2]-c, i[3]-d, i[4]-e, i[5]-f); return 0; } Node.js const arr1 = [1, 1, 2, 2, 2, 8]; let arr2 = require("fs").readFileSync(0).toString().trim().split(" ").map(Number); let output = []; for (let i=0; i<6; i++) { output.push(arr1[i] - arr2[i]); } console.log(output.join(" ")); PHP <?php $arr1 = [1, 1, 2, 2, 2, 8]; $arr2 = explode(" ", fgets(STDIN)); for ($i=0; $i<6; $i++) { echo $arr1[$i] - $arr2[$i]." "; } ?> Python3 arr1 = 1, 1, 2, 2, 2, 8 arr2 = list(map(int, input().split())) output = [] for i in range(6): output.append(arr1[i] - arr2[i]) print(output.join(" ")) Ruby arr1 = 1, 1, 2, 2, 2, 8 arr2 = gets.chomp.split().map {|i| i.to_i} for i in 0...6 do print "#{arr1[i] - arr2[i]} " end
  • 1998년생인 내가 태국에서는 2541년생?! (18108)

    2023-01-27 13:15:00 두 수의 차인 543을 빼면 된다. Bash read year echo $((year - 543)) C #include <stdio.h> int main(void) { int year; scanf("%d", &year); printf("%d\n", year-543); return 0; } Node.js let year = Number(require("fs").readFileSync(0).toString().trim()); console.log(year - 543); PHP <?php fscanf(STDIN, "%d", $year); echo $year - 543; ?> Python3 print(int(input()) - 543) Ruby puts gets.chomp.to_i - 543
  • ??! (10926)

    2023-01-27 12:25:00 입력받은 문자열에 문자열을 덧붙여 출력하면 된다. Bash read name echo $name??! 변수명에 특수기호는 포함되지 않기에 가능하다. 변수명에 사용되는 문자를 이어붙여야 한다면 ${var}abc 형식으로 사용하면 된다. C #include <stdio.h> int main(void) { char str[50]; scanf("%s", str); printf("%s\?\?!", str); return 0; } Node.js let name = require("fs").readFileSync(0).toString().trim(); console.log(name + "??!"); PHP <?php fscanf(STDIN, "%s", $name); echo $name."??!"; ?> Python3 print("{}??!".format(input())) Ruby puts gets.chomp + "??!"