๐Ÿ˜Ž ๊ณต๋ถ€ํ•˜๋Š” ์ง•์ง•์•ŒํŒŒ์นด๋Š” ์ฒ˜์Œ์ด์ง€?

[์ด๊ฒƒ์ด ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋‹ค with Python]_13_๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์œ ํ˜• ๋ฌธ์ œ ๋ณธ๋ฌธ

๐Ÿฆฅ ์ฝ”ํ…Œ/์ด๊ฒƒ์ด ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋‹ค with python

[์ด๊ฒƒ์ด ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋‹ค with Python]_13_๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์œ ํ˜• ๋ฌธ์ œ

์ง•์ง•์•ŒํŒŒ์นด 2022. 1. 31. 20:37
728x90
๋ฐ˜์‘ํ˜•

220131 ์ž‘์„ฑ

<๋ณธ ๋ธ”๋กœ๊ทธ๋Š” ใ€Ž์ด๊ฒƒ์ด ์ทจ์—…์„ ์œ„ํ•œ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋‹คใ€ ์˜ youtube๋ฅผ ์ฐธ๊ณ ํ•ด์„œ ๊ณต๋ถ€ํ•˜๋ฉฐ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค>

https://www.youtube.com/watch?v=_TG0hVYJ6D8&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=13 

 

 

 

 

 

 

 

< ๋ฌธ์ œ1 > 1์ผ ๋  ๋•Œ๊นŒ์ง€

: ์–ด๋– ํ•œ ์ˆ˜ N์ด 1์ด ๋  ๋•Œ๊นŒ์ง€ ๋‹ค์Œ์˜ ๋‘ ๊ณผ์ • ์ค‘ ํ•˜๋‚˜๋ฅผ ๋ฐ˜๋ณต์ ์œผ๋กœ ์„ ํƒํ•˜์—ฌ ์ˆ˜ํ–‰

: ๋‘๋ฒˆ ์งธ ์—ฐ์‚ฐ์€ N์ด K๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์งˆ ๋•Œ๋งŒ ์„ ํƒ

    1) N์—์„œ 1 ๋นผ๊ธฐ

    2) N์„ K๋กœ ๋‚˜๋ˆ„๊ธฐ

 

: N, K ์ฃผ์–ด์งˆ ๋•Œ N์ด 1์ด ๋  ๋•Œ๊นŒ์ง€ 1 or 2 ๋ฒˆ์˜ ๊ณผ์ •์„ ์ˆ˜ํ–‰ํ•ด์•ผํ•˜๋Š” ์ตœ์†Œ ํšŸ์ˆ˜

- ์ฃผ์–ด์ง„ N์— ๋Œ€ํ•ด ์ตœ๋Œ€ํ•œ ๋งŽ์ด ๋‚˜๋ˆ„๊ธฐ

- 1 ๋ฒˆ๋ณด๋‹ค 2๋ฒˆ์ด ์ž‘์—… ์ˆ˜ ๋งŽ์ด ์ค„์ž„

  • python
n, k = map(int, input().split())
cnt = 0

while True :
    target = ( n // k ) * k		# k๋กœ ๋‚˜๋ˆ„์–ด์ง„๋‹น
    cnt += (n-target)			
    n = target

    if n < k :
        break

    cnt += 1
    n //= k

cnt += (n-1)
print(cnt)
  • c++
#include <bits/stdc++.h>

using namespace std;

int n, k;
int cnt = 0;

int main(void) {
	cin >> n >> k;
    while (true) {
    	int target = ( n // k ) * k		# k๋กœ ๋‚˜๋ˆ„์–ด์ง„๋‹น
    	cnt += (n-target)			
    	n = target

    	if n < k ;
        	break
            
		cnt ++;
	    n /= k;
    }
	cnt += (n-1);
    cout << cnt << '\n';
}
  • java
import javna.util.*;

public class Main {
	public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
        
        int n = sc.nextInt();
        int k = sc.nextInt();
        int cnt = 0;
        
        while(true) {
        	int target = (n/k) * k;
            cnt += (n - target);
            n = target;
            
            if ( n < k )
            	break;
            
            cnt += 1;
            n /= k;
        }
       	cnt += (n-1);
        System.out.println(cnt);
    }
}

 

 

 

 

 

 

 

 

< ๋ฌธ์ œ2 > ๊ณฑํ•˜๊ธฐ or ๋”ํ•˜๊ธฐ

: ๊ฐ ์ˆซ์ž๊ฐ€ 0~9 ๋กœ ๋œ ๋ฌธ์ž์—ด S ๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ, ์™ผ์ชฝ๋ถ€ํ„ฐ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ํ•˜๋‚˜์”ฉ ๋ชจ๋“  ์ˆซ์ž๋ฅผ ํ™•์ธํ•˜๋ฉฐ ์ˆซ์ž ์‚ฌ์ด์— X or + ์—ฐ์‚ฐ์ž๋ฅผ ๋„ฃ์–ด

๊ฒฐ๊ณผ์ ์œผ๋กœ ๋งŒ๋“ค์–ด์งˆ ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ํฐ ์ˆ˜ ๊ตฌํ•˜๊ธฐ

- + ๋ณด๋‹ค๋Š” X ๊ฐ€ ๋” ํฌ๊ฒŒ

- 1 ์ดํ•˜๋ฉด ๋”ํ•˜๊ธฐ, 2 ์ด์ƒ์ด๋ฉด ๊ณฑํ•˜๊ธฐ

  • python
data = input()

result = int(data[0])

for i in range(1, len(data)) :
    num = int(data[i])

    if num <= 1 or result <= 1 :
        result += num
    
    else :
        result *= num

print(result)
  • c++
# include <bits/stdc++.h>
using namespace std;

string str;

int main(void) {
	cin >> str;
    long long result = str[0] - '0';
    
    for (int i = 1; i<str.size(); i++); {
    	int num = str[i] - '0';
        if (num <= 1 || result <= 1)
        	result += num;
        else :
        	result *= num;
	}
	cout << result << '\n';
}
  • java
import java.util.*;

public class Main {
	public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in)l
        String str = sc.next();
        
        long result = str.charAt(0) - '0';
        for (int i = 1; i < str.length(); i++) {
        	int num = str.charAt(i) - '0';
            
            if (num <= 1 || result <= 1)  {
            	result += num;
            
            else :
            	result *= num;
            }
        }
        System.out.println(result);
    }
}

 

 

 

 

 

 

< ๋ฌธ์ œ3 > ๋ชจํ—˜๊ฐ€ ๊ธธ๋“œ

: ๊ณตํฌ๋„๊ฐ€ X์ธ ๋ชจํ—˜๊ฐ€๋Š” ๋ฐ˜๋“œ์‹œ X๋ช… ์ด์ƒ์œผ๋กœ ๊ตฌ์„ฑํ•œ ๋ชจํ—˜๊ฐ€ ๊ทธ๋ฃน์— ์ฐธ์—ฌ

: N๋ช…์˜ ๋ชจํ—˜๊ฐ€์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์—ฌํ–‰์„ ๋– ๋‚  ์ˆ˜ ์žˆ๋Š” ๊ทธ๋ฃน์˜ ์ตœ๋Œ€๊ฐ’

- ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ ์ดํ›„ ๊ณตํฌ๋„๊ฐ€ ๊ฐ€์žฅ ๋‚ฎ์€ ๋ชจํ—˜๊ฐ€๋ถ€ํ„ฐ ํ™•์ธ

- ํ˜„์žฌ ๊ทธ๋ฃน ์ˆ˜๊ฐ€ ํ˜„์žฌ ํ™•์ธํ•˜๊ณ  ์žˆ๋Š” ๊ณตํฌ๋„๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฉด ์„ค์ •

  • python
n = int(input())
data = list(map(int, input().split()))
data.sort()

result = 0    # ์ด ๊ทธ๋ฃน์ˆ˜
count = 0     # ํ˜„์žฌ ๊ทธ๋ฃน ๋ชจํ—˜๊ฐ€ ์ˆ˜

for i in data :
    count += 1
    if count >= i :    # ํ˜„์žฌ ๊ทธ๋ฃน ๋ชจํ—˜๊ฐ€ ์ˆ˜๊ฐ€ ํ˜„์žฌ ๊ณตํฌ๋„ ์ด์ƒ์ด๋ฉด ๊ทธ๋ฃน ใ„ฑ
        result += 1
        count = 0     # ์ดˆ๊ธฐํ™”
print(result)
  • c++
#include <bits/stdc++.h>
using namespace std;

int n;
vector<int> arr;

int main(void) {
	cin >> n;
    
    for (int i = 0; i < n; i++ ) {
    	int x;
        cin >> x;
        arr.push_back(x);
    }
    sort(arr.begin(), arr.end());
    
    int result = 0;
    int cnt = 0
    for (int i = 0; i < n; i++ ) {
    	cnt += 1;
        if (cnt >= arr[i] ) {
        	result += 1;
            cnt = 0;
        }
    }
    cout << result << '\n';
}
  • java
import java.util.*;

public class Main {
	public static int n;
    public static ArrayList<Integer> arrayList = new ArrayList<>();
    
    public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
        n = sc.nextInt();
        
        for (int i =0; i< n; i++) {
        	arryList.add(sc.nextInt());
        }
        Collections.sort(arrayList);
        
        int result = 0;
        int count = 0;
        for (int i = 0; i<n; i++) {
        	count += 1;
            if (count >= arrayList.get(i)) {
            	resut += 1;
                count = 0;
            }
        }
        System.out.printIn(result);
    }
}

 

 

 

 

 

 

 

 

 

728x90
๋ฐ˜์‘ํ˜•
Comments