728x90

๋ฌธ์ œ

์•ŒํŒŒ๋ฒณ ๋Œ€์†Œ๋ฌธ์ž๋กœ ๋œ ๋‹จ์–ด๊ฐ€ ์ฃผ์–ด์ง€๋ฉด, ์ด ๋‹จ์–ด์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋œ ์•ŒํŒŒ๋ฒณ์ด ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋‚ด๋А ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๋Œ€,์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ X

 

์˜ˆ์ œ ์ž…์ถœ๋ ฅ

์ž…๋ ฅ

Mississipi

์ถœ๋ ฅ

?

 

์ฝ”๋“œ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <iostream>
using namespace std;
 
int main() {
   char word[1000001]={" ",};
   char mostAlpha[26]={" ",};   //์•ŒํŒŒ๋ฒณ ๊ฐฏ์ˆ˜๊ฐ€ 26๊ฐœ์ด๋ฏ€๋กœ
   int repetNum[26]={0,};      //๋Œ€๋ฌธ์ž ์†Œ๋ฌธ์ž ํ•ฉํ•˜๋ฉด 52
   int idx=0,alphaCount=0;
   bool isIncrease=false;
   scanf("%s",word);
   while(word[idx]!='\0'){
           int idxSame=0;
           if(word[idx]>=97) word[idx]-=32;        //์†Œ๋ฌธ์ž์ผ ๊ฒฝ์šฐ ์•„์Šคํ‚ค์ฝ”๋“œ 32๋ฅผ ๋นผ์ฃผ์–ด ๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜
        if(alphaCount>=1){
             for(int i=0;i<alphaCount;i++){
                //๊ฐ™์€ ๊ฒƒ ์žˆ๋Š”์ง€ ์ฒดํฌ ๋ฐ ๊ฐ™์€ ์ž๋ฆฌ์˜ ๋ฐฐ์—ด ๋ฒˆํ˜ธ ์ €์žฅ
                if(word[idx]==mostAlpha[i]){
                  isIncrease=false;
                  idxSame=i;
                  break;
                }
                else{
                   isIncrease=true;
                }
             }
             if(isIncrease){        //for๋ฌธ์ด ๋๋‚˜๊ณ  alphaCount๋ฅผ ๋”ํ•ด์ฃผ์–ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ
                mostAlpha[alphaCount]=word[idx];
                repetNum[alphaCount]=1;
                 alphaCount++;        //๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋” ๋งŽ์€ for๋ฌธ์„ ๋ฐœ์ƒ์‹œํ‚ด
             }
             else
             {
                  repetNum[idxSame]++;    //์•„๋‹ˆ๋ฉด์€ ๊ฐ™์€๊ฒƒ์— ++ํ•ด์คŒ
             }
        }
        else
        {
             mostAlpha[0]=word[idx];
             repetNum[0]=1;
             alphaCount++;
        }
        idx++;
   }
   //์ œ์ผ ์ˆซ์ž๊ฐ€ ํฐ ๊ฒƒ์„ ๋ฝ‘์Œ
   int mostNum=0,mostNumIdx=0;
   bool isDupli=false;
   for(int i=0;i<alphaCount;i++){
      if(mostNum<repetNum[i]){ 
         mostNum=repetNum[i];
         isDupli=false;            //์ตœ๋Œ“๊ฐ’์ด ๋ฐ”๋€”๊ฒฝ์šฐ false
         mostNumIdx=i;
      }
      else if(mostNum==repetNum[i]&&repetNum[i]>1){
         isDupli=true;            //๊ฐ™์€ ์ตœ๋Œ€๊ฐ’์ด ์žˆ๋‹ค๋ฉด true, ํ•˜์ง€๋งŒ 1์ดˆ๊ณผ์—ฌ์•ผํ•จ
      }
   }
   
   if(isDupli){
      printf("?");
   }
   else{
          printf("%c",mostAlpha[mostNumIdx]);
   }
   return 0;
}
cs

*๊ฐ„๋‹จํ•œ ํ•ด์„ค*

์•ŒํŒŒ๋ฒณ๊ฐฏ์ˆ˜๋งŒํผ์˜ ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด์„œ ๋ฌธ์ž์—ด์„ ์ฒดํฌํ•˜์—ฌ ๊ฐฏ์ˆ˜๋งŒํผ ์ €์žฅํ•œ ํ›„ 45~56๋ฒˆ ๋ผ์ธ์—์„œ ์ œ์ผ ํฐ ์•ŒํŒŒ๋ฒณ์„ ๋ฝ‘๋Š”๋‹ค

๋‚˜๋จธ์ง€๋Š” ์ฃผ์„์„ ํ†ตํ•ด ์„ค๋ช…ํ•ด๋†“์•˜๋‹ค

์ด ์ฝ”๋“œ๋ณด๋‹ค ํ›จ์”ฌ ๋น ๋ฅธ ๋ฐฉ๋ฒ•์ด ์žˆ์ง€ ์•Š์„๊นŒ ์‹ถ๊ธดํ•˜๋‹ค

 

*๋ฉ”๋ชจ๋ฆฌ*

2840KB

*์‹œ๊ฐ„*

36ms

*์–ธ์–ด*

C++14

*์ฝ”๋“œ๊ธธ์ด*

1878B

*์ด ๋ฐฉ๋ฒ•๋งŒ์ด ๋งž๋Š” ์ •๋‹ต์€ ์•„๋‹™๋‹ˆ๋‹ค.

ํ›จ์”ฌ ์ข‹๊ณ  ๋น ๋ฅธ ๋‹ค๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€ํ•˜์‹œ๋Š” ๋ถ„๋“ค ํ™”์ดํŒ…! '0'/*

 

 

 

๋ฐ˜์‘ํ˜•
728x90

๋ฌธ์ œ

๋ฌธ์ž์—ด S๋ฅผ ์ž…๋ ฅ๋ฐ›์€ ํ›„, ๊ฐ ๋ฌธ์ž๋ฅผ R๋ฒˆ ๋ฐ˜๋ณตํ•ด ์ƒˆ ๋ฌธ์ž์—ด P๋ฅผ ๋งŒ๋“  ํ›„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ฆ‰, ์ฒซ ๋ฒˆ์งธ ๋ฌธ์ž๋ฅผ R๋ฒˆ ๋ฐ˜๋ณตํ•˜๊ณ , ๋‘ ๋ฒˆ์งธ ๋ฌธ์ž๋ฅผ R๋ฒˆ ๋ฐ˜๋ณตํ•˜๋Š” ์‹์œผ๋กœ P๋ฅผ ๋งŒ๋“ค๋ฉด ๋œ๋‹ค. S์—๋Š” QR Code "alphanumeric" ๋ฌธ์ž๋งŒ ๋“ค์–ด์žˆ๋‹ค.

 

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜ T(1≤ T ≤ 1000)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋Š” ๋ฐ˜๋ณต ํšŸ์ˆ˜ R(1 ≤ R ≤ 8), ๋ฌธ์ž์—ด S๊ฐ€ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด ์ฃผ์–ด์ง„๋‹ค. S์˜ ๊ธธ์ด๋Š” ์ ์–ด๋„ 1์ด๋ฉฐ, 20๊ธ€์ž๋ฅผ ๋„˜์ง€ ์•Š๋Š”๋‹ค. 

 

์˜ˆ์ œ ์ž…์ถœ๋ ฅ

์ž…๋ ฅ

2
3 ABC
5 /HTP

์ถœ๋ ฅ

AAABBBCCC
/////HHHHHTTTTTPPPPP

 

์ฝ”๋“œ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
 
int main() {
    int arrayNum,repetition;
    scanf("%d",&arrayNum);
    char array[20]={" ",};    //๊ณต๋ฐฑ์œผ๋กœ ์ดˆ๊ธฐํ™”
    char *arrayPtr = array;
    char repetArray[160]={" ",};    //์ตœ๋Œ€ 8๋ฒˆ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— 20X8
    for(int i=0;i<arrayNum;i++){
        int idx=0,count=0;
        scanf("%d %s",&repetition,arrayPtr);
        while(array[idx]!='\0'){
            for(int j=count;j<count+repetition;j++){
                repetArray[j]=array[idx];
                printf("%c",repetArray[j]);
            }
            count+= idx*repetition;
            idx++;
        }
        printf("\n");
    }
    
    return 0;
}
cs

 

*๊ฐ„๋‹จํ•œ ํ•ด์„ค*

์ผ๋‹จ ํ’€์ดํ•˜๊ธฐ์— ์•ž์„œ ์‚ฌ์‹ค ์ด ๋ฌธ์ œ์˜ ๋‚ด๊ฐ€ ์“ด ๋‹ต์€ ํ‹€๋ ธ๋‹ค

ํ•˜์ง€๋งŒ ๋ฐฑ์ค€์—์„œ๋Š” ํ†ต๊ณผ๊ฐ€ ๋œ๋‹ค

๋ฌธ์ œ์—์„œ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜๊ฐ€ 1~1000๊ฐœ์ด๊ณ , ์ผ€์ด์Šค ๋ฐ˜๋ณต ํšŸ์ˆ˜๋Š” 1~8, ๋ฌธ์ž์—ด์€ 20๊ธ€์ž๋ฅผ ๋„˜์ง€ ์•Š๋Š”๋‹ค ์˜€๊ธฐ ๋•Œ๋ฌธ์— repetArray ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๊ฐ€ ์‚ฌ์‹ค์€ 20X8X1000๊ฐœ๋Š” ์žˆ์–ด์•ผ ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋‹ค ์ˆ˜์šฉํ•  ์ˆ˜ ์žˆ๋‹ค

codeForce์—์„œ ํ’€์—ˆ๋‹ค๋ฉด ์•„๋งˆ ๋ฐ”๋กœ ํ‹€๋ ธ์„๋“ฏ

11๋ฒˆ ๋ผ์ธ : ์ด ๋ผ์ธ์—์„œ ๋ฐ˜๋ณต ํšŸ์ˆ˜, ๋ฌธ์ž์—ด์„ ๋ฐ›๊ณ  %s๋Š” ํฌ์ธํ„ฐ๋ฅผ ๋„ฃ์–ด์ค˜์•ผํ•จ

12๋ฒˆ ๋ผ์ธ : ๋งŒ์•ฝ ๊ทธ ๋‹ค์Œ ๋ฐฐ์—ด์ด null์ผ ๊ฒฝ์šฐ ์ถœ๋ ฅ์„ ์ •์ง€ํ•จ

 

*๋ฉ”๋ชจ๋ฆฌ*

2016KB

*์‹œ๊ฐ„*

0ms

*์–ธ์–ด*

C++17

*์ฝ”๋“œ๊ธธ์ด*

535B

 

*์ด ๋ฐฉ๋ฒ•๋งŒ์ด ๋งž๋Š” ์ •๋‹ต์€ ์•„๋‹™๋‹ˆ๋‹ค.

ํ›จ์”ฌ ์ข‹๊ณ  ๋น ๋ฅธ ๋‹ค๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€ํ•˜์‹œ๋Š” ๋ถ„๋“ค ํ™”์ดํŒ…! '0'/*

 

๋ฐ˜์‘ํ˜•
728x90

๋ฌธ์ œ

์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋‹จ์–ด S๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ๊ฐ์˜ ์•ŒํŒŒ๋ฒณ์— ๋Œ€ํ•ด์„œ, ๋‹จ์–ด์— ํฌํ•จ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ์—๋Š” ์ฒ˜์Œ ๋“ฑ์žฅํ•˜๋Š” ์œ„์น˜๋ฅผ, ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ์—๋Š” -1์„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

 

์ž…๋ ฅ

์ฒซ๋ฒˆ์žฌ ์ค„์— ๋‹จ์–ด S๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‹จ์–ด์˜ ๊ธธ์ด๋Š” 100์„ ๋„˜์ง€ ์•Š์œผ๋ฉฐ, ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.

 

์˜ˆ์ œ ์ž…์ถœ๋ ฅ

์ž…๋ ฅ : baekjoon

์ถœ๋ ฅ : 1 0 -1 -1 2 -1 -1 -1 -1 4 3 -1 -1 7 5 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1

 

์ฝ”๋“œ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
int main() {
    int array[26]={0,};    
    for(int i=0;i<26;i++){
        array[i]=-1;        //๋ชจ๋“  ๋ฐฐ์—ด -1๋กœ ์ดˆ๊ธฐํ™”
    }
    char word[100]={"",};
    for(int i=0;i<100;i++){
        scanf("%c",&word[i]);
        if(word[i]=='\0'break;        //์ž…๋ ฅ ๊ฐ’์ด ์—†์„ ๋•Œ for๋ฌธ์„ ๋น ์ ธ๋‚˜์˜ด
        else if(array[static_cast<int>(word[i])-97]==-1)
            array[static_cast<int>(word[i])-97]=i;
    }
    for(int i=0;i<26;i++){
        printf("%d ",array[i]);
    }
    return 0;
}
cs

 

*๊ฐ„๋‹จํ•œ ํ•ด์„ค*

4~7๋ฒˆ ๋ผ์ธ : array๋ฐฐ์—ด(์ถœ๋ ฅ ๋ฐฐ์—ด)์„ -1๋กœ ๋จผ์ € ์ดˆ๊ธฐํ™” ํ•ด์คŒ

9~11๋ฒˆ ๋ผ์ธ : for๋ฌธ์„ 100๋ฒˆ ๋Œ๋ฆฌ๋Š”๋ฐ ๋งŒ์•ฝ ์ž…๋ ฅ๋œ ๊ฐ’์ด ์—†๋‹ค๋ฉด for๋ฌธ์„ ๋น ์ ธ๋‚˜์˜ค๋„๋ก break๋ฅผ ์ ์šฉํ•จ

12~13๋ฒˆ ๋ผ์ธ : ๋งŒ์•ฝ ์ž…๋ ฅ๋œ ๊ฐ’์ด ์žˆ๋‹ค๋ฉด ํ•ด๋‹น ๊ฐ’์„ static_cast๋ฅผ ์ด์šฉํ•˜์—ฌ int ๊ฐ’์„ ๋ณ€๊ฒฝํ•ด์ฃผ๊ณ  ํ•ด๋‹น๋˜๋Š” array์ž๋ฆฌ๊ฐ€ -1์ƒํƒœ(์ฆ‰, ๋จผ์ € ํ™•์ธ๋˜์ง€ ์•Š์€ ์ƒํƒœ)๋ผ๋ฉด ํ•ด๋‹น ๋ฐฐ์—ด์˜ ์ž๋ฆฌ์— i(๋ช‡๋ฒˆ์งธ ์ˆ˜์ธ์ง€ ์•Œ๋ ค์ฃผ๋Š” idx)๋ฅผ ์‚ฝ์ž…ํ•ด์คŒ

 

P.S

if(word[i]==NULL)๋กœ ์“ฐ๋‹ˆ๊นŒ warning ๋ฌธ๊ตฌ๊ฐ€ ๋–ณ๋‹ค. ์•„๋งˆ ์ปดํŒŒ์ผ๋Ÿฌ์— ๋”ฐ๋ผ์„œ NULL์ด๋ผ๋Š” ์˜ˆ์•ฝ์–ด๊ฐ€ ์—†์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— '\0' ์œผ๋กœ ์ˆ˜์ •ํ•˜์˜€๋‹ค.

 

*๋ฉ”๋ชจ๋ฆฌ*

2016KB

*์‹œ๊ฐ„*

0ms

*์–ธ์–ด*

C++17

*์ฝ”๋“œ๊ธธ์ด*

442B

*์ด ๋ฐฉ๋ฒ•๋งŒ์ด ๋งž๋Š” ์ •๋‹ต์€ ์•„๋‹™๋‹ˆ๋‹ค.

ํ›จ์”ฌ ์ข‹๊ณ  ๋น ๋ฅธ ๋‹ค๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€ํ•˜์‹œ๋Š” ๋ถ„๋“ค ํ™”์ดํŒ…! '0'/*

 

๋ฐ˜์‘ํ˜•
728x90

๋ฌธ์ œ

N๊ฐœ์˜ ์ˆซ์ž๊ฐ€ ๊ณต๋ฐฑ ์—†์ด ์“ฐ์—ฌ์žˆ๋‹ค. ์ด ์ˆซ์ž๋ฅผ ๋ชจ๋‘ ํ•ฉํ•ด์„œ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

 

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ์ˆซ์ž์˜ ๊ฐœ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์— ์ˆซ์ž N๊ฐœ๊ฐ€ ๊ณต๋ฐฑ์—†์ด ์ฃผ์–ด์ง„๋‹ค.

 

์ถœ๋ ฅ

์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ์ˆซ์ž N๊ฐœ์˜ ํ•ฉ์„ ์ถœ๋ ฅํ•œ๋‹ค.

 

์ฝ”๋“œ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
int main() {
    int numberSize,sum=0;
    scanf("%d\n",&numberSize);
    char array[numberSize]={"",};        //int๋กœ ๋ฐ›์„ ์‹œ ๊ณต๋ฐฑ์—†์ด ๋ฐ›์„ ์ˆ˜ ์—†์–ด์„œ char๋ฐฐ์—ด๋กœ ์ง„ํ–‰
    for(int i=0;i<numberSize;i++){    
        scanf("%c",&array[i]);
        //char๋ฅผ int๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” 0์˜ ์•„์Šคํ‚ค ์ฝ”๋“œ ๊ฐ’์ธ 48์„ ๋นผ์ค˜์•ผํ•จ
        sum+=static_cast<int>(array[i])-48;    
    }
    printf("%d",sum);
    return 0;
}
 

*๊ฐ„๋‹จํ•œ ํ•ด์„ค*

int๋กœ ๋ฐ›์„ ์‹œ ๊ณต๋ฐฑ์—†์ด ๋ฐ›์„ ์ˆ˜ ์—†์–ด์„œ char ๋ฐฐ์—ด๋กœ ๋ฐ›์•˜๋‹ค

for๋ฌธ์„ ์ด์šฉํ•ด์„œ ๋ฐฐ์—ด์„ ํ•œ๊ฐœ์”ฉ ๋ฐ›์•„์˜จ๋‹ค

๋ฐ›์•„์˜จ ๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์„ ๊ฒƒ์ด๋‹ค

10๋ฒˆ์งธ ์ค„์—์„œ sum์€ ํ•œ๊ฐœ์”ฉ ๋ฐ›์•„์˜จ char๋ฅผ static_cast<int>๋ฅผ ํ†ตํ•ด์„œ int๋กœ ๋ฐ”๊พธ๊ณ  0์˜ ์•„์Šคํ‚ค ์ฝ”๋“œ ๊ฐ’์ธ 48์„ ๋นผ์ค€ ๊ฐ’์„ ๋”ํ•ด์ค€๋‹ค

 

*๋ฉ”๋ชจ๋ฆฌ*

1984KB

*์‹œ๊ฐ„*

0ms

*์–ธ์–ด*

C++14

*์ฝ”๋“œ๊ธธ์ด*

416B

*์ด ๋ฐฉ๋ฒ•๋งŒ์ด ๋งž๋Š” ์ •๋‹ต์€ ์•„๋‹™๋‹ˆ๋‹ค.

ํ›จ์”ฌ ์ข‹๊ณ  ๋น ๋ฅธ ๋‹ค๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€ํ•˜์‹œ๋Š” ๋ถ„๋“ค ํ™”์ดํŒ…! '0'/*

 

 

๋ฐ˜์‘ํ˜•
728x90

๋ฌธ์ œ

์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž, ๋Œ€๋ฌธ์ž, ์ˆซ์ž 0~9์ค‘ ํ•˜๋‚˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ฃผ์–ด์ง„ ๊ธ€์ž์˜ ์•„์Šคํ‚ค ์ฝ”๋“œ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค

 

์ž…๋ ฅ

์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž ๋Œ€๋ฌธ์ž, ์ˆซ์ž 0~9์ค‘ ํ•˜๋‚˜๊ฐ€ ์ฒซ์งธ ์ค„์— ์ฃผ์–ด์ง„๋‹ค

 

์ถœ๋ ฅ

์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ๊ธ€์ž์˜ ์•„์Šคํ‚ค ์ฝ”๋“œ ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค

 

์ฝ”๋“œ

1
2
3
4
5
6
7
8
9
#include <iostream>
using namespace std;
 
int main() {
    char unicode;
    scanf("%c",&unicode);
    printf("%d",static_cast<int>(unicode));
    return 0;
}
cs

*๊ฐ„๋‹จํ•œ ํ•ด์„ค*

๋ฌธ์ž๋ฅผ ๋ฐ›์•„์„œ ํ•ด๋‹นํ•˜๋Š” ์•„์Šคํ‚ค์ฝ”๋“œ์˜ ๋ฒˆํ˜ธ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค

C++์—์„œ๋Š” ํ•ด๋‹นํ•˜๋Š” ์ˆซ์ž๋กœ ๋ณ€ํ™˜์‹œ์ผœ์ฃผ๋Š” static_cast<int>() ํ•จ์ˆ˜๋ฅผ ์“ฐ๋ฉด ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค

์ด ํ•จ์ˆ˜๋ฅผ ์“ฐ๊ฒŒ ๋˜๋ฉด ์ปดํŒŒ์ผ๋Ÿฌ์—์„œ ํƒ€์ž… ์˜ค๋ฅ˜๋ฅผ ์ธก์ •ํ•  ์ˆ˜ ์žˆ๊ณ  ์—…์บ์ŠคํŒ…, ๋‹ค์šด์บ์ŠคํŒ…์„ ์ œ์™ธํ•œ ํฌ์ธํ„ฐ์˜ ํ˜• ๋ณ€ํ™˜์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค

 

*๋ฉ”๋ชจ๋ฆฌ*

1984KB

*์‹œ๊ฐ„*

0ms

*์–ธ์–ด*

C++14

*์ฝ”๋“œ๊ธธ์ด*

146B

 

*์ด ๋ฐฉ๋ฒ•๋งŒ์ด ๋งž๋Š” ์ •๋‹ต์€ ์•„๋‹™๋‹ˆ๋‹ค.

ํ›จ์”ฌ ์ข‹๊ณ  ๋น ๋ฅธ ๋‹ค๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€ํ•˜์‹œ๋Š” ๋ถ„๋“ค ํ™”์ดํŒ…! '0'/*

 

๋ฐ˜์‘ํ˜•
728x90

๋ฌธ์ œ

์–ด๋–ค ์–‘์˜ ์ •์ˆ˜ X์˜ ๊ฐ ์ž๋ฆฌ๊ฐ€ ๋“ฑ์ฐจ์ˆ˜์—ด์„ ์ด๋ฃฌ๋‹ค๋ฉด, ๊ทธ ์ˆ˜๋ฅผ ํ•œ์ˆ˜๋ผ๊ณ  ํ•œ๋‹ค

๋“ฑ์ฐจ์ˆ˜์—ด์€ ์—ฐ์†๋œ ๋‘ ๊ฐœ ์ˆ˜์˜ ์ฐจ์ด๊ฐ€ ์ผ์ •ํ•œ ์ˆ˜์—ด์„ ๋งํ•œ๋‹ค

N์ด ์ฃผ์–ด์กŒ์„ ๋Œ€, 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , N๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ํ•œ์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค

 

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— 1000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค

 

์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , N๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ํ•œ์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค

 

์ฝ”๋“œ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <iostream>
using namespace std;
 
int getHansuCount(int num){
    int count=0;
    if(num<100)
    {
        count = num;
    }
    else{
      count+=99;
      for(int i=100;i<=num;i++){
         bool isHanSu=true;
         int idx=i,diff=(idx%10);      //,๋‚˜๋จธ์ง€
         idx/=10;
         int rest=(idx%10);      //2๋ฒˆ์งธ ์ž๋ฆฟ์ˆ˜ ์‚ฝ์ž…
         diff = diff-rest;   //1๋ฒˆ์งธ์™€ 2๋ฒˆ์งธ ์ž๋ฆฟ์ˆ˜์˜ ์ฐจ์ด ์‚ฝ์ž…
         idx/=10;
         
         while(idx>0){
            if(diff!=rest-(idx%10)){
               isHanSu=false;
               break;
            }
            rest=idx%10;
            idx/=10;
         }
         if(isHanSu)
         {
            count++;
         }
      }
    }
    return count;
}
 
 
int main() {
   int num,count=0;
   scanf("%d",&num);
   count = getHansuCount(num);
   printf("%d",count);
   return 0;
}
cs

*๊ฐ„๋‹จํ•œ ํ•ด์„ค*

ํ•œ์ˆ˜๋ผ๋Š” ์šฉ์–ด ์ž์ฒด๊ฐ€ ๋„ˆ๋ฌด ์ดํ•ด๊ฐ€ ์•ˆ๋˜์„œ ํ—ค๋งค๊ฒŒ ๋œ ๋ฌธ์ œ์ด๋‹ค

ํ•œ์ˆ˜๋Š” ์˜ˆ๋ฅผ ๋“ค์ž๋ฉด 1์ž๋ฆฌ ์ˆ˜์ธ 1์€ ํ•œ ๊ฐœ ๋ฐ–์— ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ฌด์กฐ๊ฑด ํ•œ์ˆ˜์ด๋‹ค(๋“ฑ์ฐจ์ˆ˜์—ด์„ ๋น„๊ตํ•  ๋Œ€์ƒ์ด ์—†๊ธฐ ๋•Œ๋ฌธ)

2์ž๋ฆฌ ์ˆ˜์ธ 10,11,12 ๊ฐ™์€ ๊ฒฝ์šฐ (1,0) (1,1) (1,2) ์ด๋ ‡๊ฒŒ ๋‚˜๋ˆ„์–ด ์ง„๋‹ค

๋“ฑ์ฐจ์ˆ˜์—ด์€ ๊ฐ๊ฐ -1,0,1 ๋กœ ๋˜๊ณ  ๋ฌด์กฐ๊ฑด ํ•œ์ˆ˜์ด๋‹ค(๋น„๊ตํ•  ๋Œ€์ƒ์ด ์—†๊ธฐ ๋•Œ๋ฌธ)

๊ทธ๋ž˜์„œ 3์ž๋ฆฌ ์ˆ˜ ์ดํ•˜๋Š” ๋ชจ๋‘ ๋‹ค ํ•œ์ˆ˜์ด๊ธฐ ๋•Œ๋ฌธ์— 12๋ฒˆ์ค„์— ๋ณด๋ฉด 100๋ถ€ํ„ฐ for๋ฌธ์ด ์‹œ์ž‘๋œ๋‹ค

while๋ฌธ์ด ๋Œ ๋™์•ˆ 123์˜ ๊ฒฝ์šฐ 123%10=3 (์ผ์˜ ์ž๋ฆฟ์ˆ˜ ๊ตฌํ•˜๊ธฐ) ๊ทธ ๋‹ค์Œ 123/10=12 ์„ ํ•œ ํ›„ 12%10=2(์‹ญ์˜ ์ž๋ฆฟ์ˆ˜)

์ด๋Ÿฐ์‹์œผ๋กœ ๋ฐ˜๋ณตํ•˜์—ฌ ๊ฐ ์ž๋ฆฟ์ˆ˜๋ฅผ ๊ตฌํ•œ๋‹ค

์ž๋ฆฟ์ˆ˜๋ฅผ ๊ตฌํ•œ ๋‹ค์Œ ๊ทธ ์ „์— ๊ตฌํ•œ ์ž๋ฆฟ์ˆ˜๋ฅผ ๋นผ์ฃผ์–ด ๋“ฑ์ฐจ์ˆ˜์—ด์˜ ์ฆ๊ฐ๊ฐ’์„ ๊ตฌํ•˜๊ณ  ๊ทธ ๊ฐ’์ด ๋๋‚ ๋•Œ๊นŒ์ง€ ๋™์ผํ•˜๋‹ค๋ฉด

isHanSu=true๋กœ ์œ ์ง€ํ•œ๋‹ค

 

*๋ฉ”๋ชจ๋ฆฌ*

1984KB

*์‹œ๊ฐ„*

0ms

*์–ธ์–ด*

C++14

*์ฝ”๋“œ๊ธธ์ด*

777B

 

 

*์ด ๋ฐฉ๋ฒ•๋งŒ์ด ๋งž๋Š” ์ •๋‹ต์€ ์•„๋‹™๋‹ˆ๋‹ค.

ํ›จ์”ฌ ์ข‹๊ณ  ๋น ๋ฅธ ๋‹ค๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€ํ•˜์‹œ๋Š” ๋ถ„๋“ค ํ™”์ดํŒ…! '0'/*

 

๋ฐ˜์‘ํ˜•

+ Recent posts