[BAEKJOON] 2588๋ฒˆ - ๊ณฑ์…ˆ

๋ฐ์ฑ ์ฝ”ยท2023๋…„ 12์›” 16์ผ
0

BAEKJOON

๋ชฉ๋ก ๋ณด๊ธฐ
8/38

๐Ÿ“2588

[Java]

๋ฐฉ๋ฒ• 1. ๋‚˜๋จธ์ง€ ๋ฐ ๋‚˜๋ˆ—์…ˆ ์—ฐ์‚ฐ์„ ํ†ตํ•ด ๊ฐ ์ž๋ฆฟ์ˆ˜๋ฅผ ๊ตฌํ•˜์—ฌ ์ถœ๋ ฅ

1.Scanner ์ด์šฉ

import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        
        int A = sc.nextInt();
        int B = sc.nextInt();
            
        System.out.println(A * (B % 10));
        System.out.println(A * (B % 100 / 10));
        System.out.println(A * (B / 100));
        System.out.println(A * B);
        
        sc.close();
    }
}

2.BufferedReader ์ด์šฉ

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        
        int A = Integer.parseInt(br.readLine());
        int B = Integer.parseInt(br.readLine());

        System.out.println(A * (B % 10));
        System.out.println(A * (B % 100 / 10));
        System.out.println(A * (B / 100));
        System.out.println(A * B);
        
        br.close();
    }
}

์ž๋ฐ”์˜ ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž

  • / : ๋‚˜๋ˆ„๊ธฐ(๋ชซ ๊ตฌํ•˜๊ธฐ)
  • % : ๋‚˜๋จธ์ง€ ๊ฐ’ ๊ตฌํ•˜๊ธฐ

๐Ÿ’ก ๊ฐ ์ž๋ฆฟ์ˆ˜ ๊ตฌํ•˜๊ธฐ

  • 1์˜ ์ž๋ฆฌ
    ์ž์—ฐ์ˆ˜์—์„œ 10์˜ ๋‚˜๋จธ์ง€๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ 1์˜ ์ž๋ฆฌ ๊ฐ’์„ ์ถ”์ถœ
    ex. 385 % 10 = 5
  • 10์˜ ์ž๋ฆฌ
    ์ž์—ฐ์ˆ˜์—์„œ 100์˜ ๋‚˜๋จธ์ง€๋ฅผ ๊ณ„์‚ฐํ•œ ํ›„ ๊ทธ ๊ฐ’์„ 10์œผ๋กœ ๋‚˜๋ˆ„์–ด 10์˜ ์ž๋ฆฌ ๊ฐ’์„ ์ถ”์ถœ
    ex. 385 % 100 = 85 โ†’ 85 / 10 = 8
  • 100์˜ ์ž๋ฆฌ
    ์ž์—ฐ์ˆ˜์—์„œ 100์˜ ๋ชซ์„ ๊ณ„์‚ฐํ•˜์—ฌ 100์˜ ์ž๋ฆฌ ๊ฐ’์„ ์ถ”์ถœ
    ex. 385 / 100 = 3

๋ฐฉ๋ฒ• 2. ๋ฌธ์ž์—ด๋กœ ์ž…๋ ฅ๋ฐ›์•„ charAt()์œผ๋กœ ํ•˜๋‚˜์”ฉ ๊บผ๋‚ด์–ด ์‚ฌ์šฉ

import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        
        int A = sc.nextInt();
        String B = sc.next();
            
        System.out.println(A * (B.charAt(2) - '0'));
        System.out.println(A * (B.charAt(1) - '0'));
        System.out.println(A * (B.charAt(0) - '0'));
        System.out.println(A * Integer.parseInt(B));
        
        sc.close();
    }
}

charAt() ํ•จ์ˆ˜
๋ฌธ์ž์—ด(String ํƒ€์ž…)์—์„œ ํŠน์ • ์ธ๋ฑ์Šค์— ์œ„์น˜ํ•˜๋Š” ๋ฌธ์ž(char ํƒ€์ž…)๋ฅผ ๋ฐ˜ํ™˜

charAt() ํ•จ์ˆ˜์—์„œ '0'์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

  • charAt() ํ•จ์ˆ˜๋กœ ๋ฐ˜ํ™˜๋˜๋Š” ๊ฐ’์€ ์•„์Šคํ‚ค์ฝ”๋“œ ๊ฐ’์ธ ๋ฌธ์ž(charํ˜•)์ด๊ธฐ ๋•Œ๋ฌธ์—
    ๋ฌธ์ž 0('0')๋ฅผ ๋นผ์ฃผ์–ด์•ผ ์›ํ•˜๋Š” ์ˆซ์ž๋กœ ๊ณ„์‚ฐ ๊ฐ€๋Šฅ
String B = "385";
B.charAt(0); // 3(char)
B.charAt(1); // 8(char) 
B.charAt(2); // 5(char) 

ex. 3(char) => 51์ด๊ธฐ ๋•Œ๋ฌธ์— '0'(char) => 48์„ ๋นผ์ฃผ์–ด์•ผ 3(10์ง„์ˆ˜)์ด ๋จ


[Javascript]

๋ฐฉ๋ฒ• 1. ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž ์ด์šฉ

const input = require('fs').readFileSync('/dev/stdin').toString().split('\n').map(Number);

const A = input[0];
const B = input[1];

console.log(A * (B % 10));
console.log(A * Math.floor((B % 100) / 10));
console.log(A * Math.floor(B / 100));
console.log(A * B);

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ map() ๋ฉ”์„œ๋“œ : ๋ฐฐ์—ด ๋‚ด์˜ ๋ชจ๋“  ์š”์†Œ ๊ฐ๊ฐ์— ๋Œ€ํ•˜์—ฌ ์ฃผ์–ด์ง„ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ชจ์•„ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž
/ : ๋‚˜๋ˆ„๊ธฐ
% : ๋‚˜๋จธ์ง€
๐Ÿ’ก ๋ชซ์„ ๊ตฌํ•˜๊ณ  ์‹ถ์„ ๋• ๋‚˜๋จธ์ง€๋ฅผ ์ œ๊ฑฐํ•ด์ฃผ๋Š” ๋‚ด๋ฆผํ•จ์ˆ˜ Math.floor()๋ฅผ ํ™œ์šฉ
๐Ÿ’ก ํŒŒ์ด์ฌ์˜ // ์™€ ํ—ท๊ฐˆ๋ฆฌ์ง€ ์•Š๋„๋ก ์ฃผ์˜

๋ฐฉ๋ฒ• 2. array.split() ์ด์šฉ __ reverse(), join() ๋ฏธ์‚ฌ์šฉ

const input = require('fs').readFileSync('/dev/stdin').toString().split('\n');

const A = Number(input[0]);
const B = input[1].split('').map(Number); // [3, 8, 5]

console.log(A * B[2]);
console.log(A * B[1]);
console.log(A * B[0]);
console.log(A * (B[0] * 100 + B[1] * 10 + B[2]));

๋ฐฉ๋ฒ• 3. array.split() ์ด์šฉ __ reverse(), join() ์‚ฌ์šฉ

const fs = require('fs');
const [A, B] = fs.readFileSync('/dev/stdin').toString().trim().split('\n');

const num1 = Number(A);
const num2 = B.split('').map(Number); // [3, 8, 5]

let result = num2.reverse().map(x => x * num1); // [5*num1, 8*num1, 3*num1]
result.push(A * Number(B)); //[5*num1, 8*num1, 3*num1, num1*Number(B)]

console.log(result.join('\n'));
// 5*num1
// 8*num1
// 3*num1
// num1*Number(B)

split(seperator, limit) ๋ฉ”์„œ๋“œ
: string ๊ฐ์ฒด๋ฅผ ์ง€์ •ํ•œ ๊ตฌ๋ถ„์ž๋ฅผ ์ด์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฌธ์ž์—ด๋กœ ๋‚˜๋ˆˆ ํ›„ ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜
ใ„ด๋ฌธ๋ฒ•

const str = '1 2 3';
const str2 = 'abcdef';
// 1. ๊ตฌ๋ถ„์ž๋ฅผ ์ด์šฉํ•ด ์ž๋ฅด๊ธฐ
str.split(' '); // ['1', '2', '3']
// 2. ํ•œ๊ธ€์ž์”ฉ ๋ชจ๋‘ ์ž๋ฅด๊ธฐ (์ธ์ž๋กœ ๋นˆ ๋ฐฐ์—ด์„ ์คŒ) 
str2.split(''); // ['a', 'b', 'c', 'd', 'e', 'f']
// 3. ์ตœ๋Œ€ n๊ฐœ๊นŒ์ง€๋งŒ ์ž๋ฅด๊ธฐ (๋‘๋ฒˆ์งธ ์ธ์ž(limit)๋กœ ๋ฐฐ์—ด์˜ ๊ฐœ์ˆ˜๋ฅผ ์ง€์ •)
str2.split('', 3); //  ['a', 'b', 'c']
// 4. parameter๊ฐ€ ์—†์„ ๊ฒฝ์šฐ, ๋ฌธ์ž์—ด ์ „์ฒด๋ฅผ length๊ฐ€ 1์ธ ๋ฐฐ์—ด์— ๋‹ด์•„ ๋ฐ˜ํ™˜
str2.split(); // ['abcdef'] 
// 5. split์„ ์‚ฌ์šฉํ•ด ๋ฌธ์ž์—ด ๋’ค์ง‘๊ธฐ
str2.split('').reverse().join(''); //fedcba

reverse() ๋ฉ”์„œ๋“œ : ๋ฐฐ์—ด์˜ ์ˆœ์„œ๋ฅผ ๊ฑฐ๊พธ๋กœ ๋’ค์ง‘๊ณ , ๊ทธ ๋ฐฐ์—ด์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ฐธ์กฐ๊ฐ’์„ ๋ฐ˜ํ™˜

join(seperator) ๋ฉ”์„œ๋“œ

  • ๋ฐฐ์—ด์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ์—ฐ๊ฒฐํ•˜์—ฌ ํ•˜๋‚˜์˜ ๋ฌธ์ž์—ด๋กœ ๋งŒ๋“ค์–ด ๋ฐ˜ํ™˜
  • ๋งค๊ฐœ๋ณ€์ˆ˜ seperator๋Š” ๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ๋ฅผ ๊ตฌ๋ถ„ํ•  ๋ฌธ์ž์—ด๋กœ, ์ƒ๋žต ์‹œ ๋ฐฐ์—ด์˜ ์›์†Œ๋“ค์ด ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„๋จ
const arr = ['๋ˆˆ', '๋น„'];
console.log(arr.join()); // ๋ˆˆ,๋น„
console.log(arr.join('')); // ๋ˆˆ๋น„
console.log(arr.join('-')); // ๋ˆˆ-๋น„

[Python]

๋ฐฉ๋ฒ• 1. ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž ์ด์šฉ

A = int(input())
B = int(input())
print(A * (B % 10))
print(A * ((B % 100) // 10))
print(A * (B // 100))
print(A * B)

๐Ÿ’ก map() ํ•จ์ˆ˜๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฐ’์„ ํ•œ ์ค„์— ์ž…๋ ฅ๋ฐ›๋Š” ํ•จ์ˆ˜๋กœ์„œ ๊ฐ๊ฐ์˜ ๊ฐ’์„ ๋‘ ์ค„๋กœ ๋‚˜๋ˆ„์–ด ์ž…๋ ฅ๋ฐ›์„ ๋•Œ์—๋Š” ์‚ฌ์šฉ ๋ถˆ๊ฐ€

๐Ÿ’ก ํŒŒ์ด์ฌ์˜ ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž ์šฐ์„ ์ˆœ์œ„โ†’ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๊ฐ™์€ ์—ฐ์‚ฐ์ž๋ผ๋ฆฌ์˜ ๊ณ„์‚ฐ ์‹œ ()๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์šฐ์„ ์ˆœ์œ„ ๋ถ€์—ฌ

๋ฐฉ๋ฒ• 2. ๋ฌธ์ž์—ด ์ด์šฉ(๋ฐ˜๋ณต๋ฌธ ์‚ฌ์šฉx)

A = int(input())
B = input()

print(A * int(B[2]))
print(A * int(B[1]))
print(A * int(B[0]))
print(A * int(B))

๋ฐฉ๋ฒ• 3. ๋ฌธ์ž์—ด ์ด์šฉ(๋ฐ˜๋ณต๋ฌธ ์‚ฌ์šฉ)

A = int(input())
B = input()

for i in range(2,-1,-1):
    print(A * int(B[i]))
    
print(A * int(B))

๐Ÿ’ก range(a,b,c) ํ•จ์ˆ˜

  • ํŠน์ • ๋ฒ”์œ„์˜ ์—ฐ์†๋œ ์ •์ˆ˜๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ํŒŒ์ด์ฌ์˜ ๋‚ด์žฅ ํ•จ์ˆ˜
  • ๋งค๊ฐœ ๋ณ€์ˆ˜๊ฐ€ a ํ•˜๋‚˜์ผ ๋•Œ, 0๋ถ€ํ„ฐ a-1๊นŒ์ง€์˜ ์ •์ˆ˜ ๋ฒ”์œ„๋ฅผ ๋ฐ˜ํ™˜
  • ๋งค๊ฐœ ๋ณ€์ˆ˜๊ฐ€ a์™€ b ๋‘ ๊ฐœ์ผ ๋•Œ, a๋ถ€ํ„ฐ b-1๊นŒ์ง€์˜ ์ •์ˆ˜ ๋ฒ”์œ„๋ฅผ ๋ฐ˜ํ™˜
  • ๋งค๊ฐœ ๋ณ€์ˆ˜๊ฐ€ a์™€ b์™€ c ์„ธ ๊ฐœ์ผ ๋•Œ, a๋ถ€ํ„ฐ c๋งŒํผ์˜ ๊ฐ„๊ฒฉ์œผ๋กœ b-1๊นŒ์ง€์˜ ์ •์ˆ˜ ๋ฒ”์œ„๋ฅผ ๋ฐ˜ํ™˜
  • ์ฃผ๋กœ for ๋ฐ˜๋ณต๋ฌธ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ

0๊ฐœ์˜ ๋Œ“๊ธ€