반응형
#include <stdio.h>
 
int i, temp, check, cnt = 1;
int main(void)
{
    int series;
    scanf("%d"&series);
    if(series==1){
        printf("666");
        return 0;
    }
    for(i=667;; i++){
        temp = i;
        check = 0;
        while(temp){
            if(temp % 1000 == 666){
                check = 1;
            }
            temp /= 10;
        }
        if(check){
            cnt++;
            if(cnt == series){
                break;
            }
        }
    }
    printf("%d\n", i);
    return 0;
}
r
반응형

'알고리즘 > 백준' 카테고리의 다른 글

[백준] 9012 괄호 (C언어)  (0) 2020.04.23
[백준] 10773 제로 (C언어)  (0) 2020.04.20
[백준] 2798 블랙잭 (C언어)  (0) 2020.04.17
[백준] 10828 스택 (C언어)  (0) 2020.04.01
[백준] 8958 OX퀴즈 (C언어)  (0) 2020.03.27
반응형
#include <stdio.h>
 
int main()
{
    int inputNumber;
    scanf("%d"&inputNumber);
    char bracket[50];
    for(int i=0; i<inputNumber; i++){
        int cnt = 0;
        scanf("%s", bracket);
        for(int j=0; j<strlen(bracket); j++){
            if(bracket[j]=='('){
                cnt++;
            }else{
                cnt--;
            }
            if(cnt<0){
                printf("NO\n");
                break;
            }
        }
        if(cnt==0){
            printf("YES\n");
        }else if(cnt > 0){
            printf("NO\n");
        }
    }
    return 0;
}
 
반응형

'알고리즘 > 백준' 카테고리의 다른 글

[백준] 1436 영화감독 숌 (C언어)  (0) 2020.04.24
[백준] 10773 제로 (C언어)  (0) 2020.04.20
[백준] 2798 블랙잭 (C언어)  (0) 2020.04.17
[백준] 10828 스택 (C언어)  (0) 2020.04.01
[백준] 8958 OX퀴즈 (C언어)  (0) 2020.03.27
반응형
#include <stdio.h>
 
int cnt = 0;
int stack[100000];
 
void push(int n){
    stack[cnt] = n;
    cnt++;
}
 
void pop(){
    cnt--;
    stack[cnt] = 0;
}
 
int main()
{
    int inputNumber;
    int sum = 0;
    scanf("%d"&inputNumber);
    int data[inputNumber];
    for(int i=0; i<inputNumber; i++){
        scanf("%d"&data[i]);
        if(data[i]==0){
            pop();
        }else{
            push(data[i]);
        }
    }
    for(int i=0; i<cnt; i++){
        sum+=stack[i];
    }
    printf("%d\n", sum);
    return 0;
}
 
반응형

'알고리즘 > 백준' 카테고리의 다른 글

[백준] 1436 영화감독 숌 (C언어)  (0) 2020.04.24
[백준] 9012 괄호 (C언어)  (0) 2020.04.23
[백준] 2798 블랙잭 (C언어)  (0) 2020.04.17
[백준] 10828 스택 (C언어)  (0) 2020.04.01
[백준] 8958 OX퀴즈 (C언어)  (0) 2020.03.27
반응형
#include <stdio.h>
 
int main()
{
    int cardCount, cardLimit;
    scanf("%d %d"&cardCount, &cardLimit);
    int card[cardCount];
    int sum = 0, maxNumber = 0;
    
    for(int i=0; i<cardCount; i++){
        scanf("%d"&card[i]);
    }
 
    for(int i=0; i<cardCount-2; i++){
        for(int j=i+1; j< cardCount-1; j++){
            for(int k=j+1; k< cardCount; k++){
                sum = card[i] + card[j] + card[k];
                if(sum > maxNumber && sum <= cardLimit){
                    maxNumber = sum;
                }
            }
        }
    }
    printf("%d\n", maxNumber);
    
    return 0;
}
r
반응형

'알고리즘 > 백준' 카테고리의 다른 글

[백준] 9012 괄호 (C언어)  (0) 2020.04.23
[백준] 10773 제로 (C언어)  (0) 2020.04.20
[백준] 10828 스택 (C언어)  (0) 2020.04.01
[백준] 8958 OX퀴즈 (C언어)  (0) 2020.03.27
[백준] 7568 덩치 (C언어)  (0) 2020.03.24
반응형
/*
* Author : Jeonghun Cho
* Date : April 1, 2020
*/
 
#include <stdio.h>
 
int stack[100001];
int cnt = 0;
 
void push(int n){
    stack[cnt] = n;
    cnt++;
}
 
void pop(){
    if(cnt!=0){
        cnt--;
        printf("%d\n"stack[cnt]);
        stack[cnt] = 0;
    }else{
        printf("%d\n"-1);
    }
}
 
void top(){
    if(cnt!=0){
        printf("%d\n"stack[cnt-1]);
    }else{
        printf("%d\n"-1);
    }
}
 
void empty(){
    if(cnt!=0){
        printf("0\n");
    }else{
        printf("1\n");
    }
}
 
void size(){
    printf("%d\n", cnt);
}
 
int main(){
    int stackSize;
    char order[10];
    scanf("%d"&stackSize); // stack 크기 저장.
    int stack[stackSize]; // 입력한 숫자의 stack배열 생성
    
    for(int i=0; i<stackSize; i++){
        scanf("%s"&order);
        if(!strcmp(order, "push")){
            int n;
            scanf("%d"&n);
            push(n);
        }else if(!strcmp(order, "top")){
            top();
        }else if(!strcmp(order, "size")){
            size();
        }else if(!strcmp(order, "empty")){
            empty();
        }else{
            pop();
        }
    }
    
}
 
반응형

'알고리즘 > 백준' 카테고리의 다른 글

[백준] 10773 제로 (C언어)  (0) 2020.04.20
[백준] 2798 블랙잭 (C언어)  (0) 2020.04.17
[백준] 8958 OX퀴즈 (C언어)  (0) 2020.03.27
[백준] 7568 덩치 (C언어)  (0) 2020.03.24
[백준] 2446 별 찍기 - 9 (C언어)  (0) 2020.03.23
반응형
/*
* Author : Jeonghun Cho
* Date : March 27, 2020
*/
 
#include<stdio.h>
#include<string.h>
 
int main(){
    int inputNumber;
    scanf("%d",&inputNumber);
    
    for(int i=0; i<inputNumber; i++){
        char trueOrFalse[81];
        int check = 1,sum = 0;
        scanf("%s",&trueOrFalse);
        
        for(int j=0;j<strlen(trueOrFalse);j++){
            if(trueOrFalse[j]=='O'){
                sum+=check;
                check++;
            }
            else{
                check = 1;
            }
        }
        printf("%d\n",sum);
    }
}
 
반응형

'알고리즘 > 백준' 카테고리의 다른 글

[백준] 2798 블랙잭 (C언어)  (0) 2020.04.17
[백준] 10828 스택 (C언어)  (0) 2020.04.01
[백준] 7568 덩치 (C언어)  (0) 2020.03.24
[백준] 2446 별 찍기 - 9 (C언어)  (0) 2020.03.23
[백준] 2523 별찍기 - 13 (C언어)  (0) 2020.03.18
반응형
/*
 * Author : Jeonghun Cho
 * Date : March 24, 2020
 */
#include <stdio.h>
 
int main() {
    int inputNumber;
    int cnt = 0;
    scanf("%d"&inputNumber);
    int height[inputNumber], weight[inputNumber];
    
    for(int i=0; i<inputNumber; i++){
        scanf("%d %d"&height[i], &weight[i]);
    }
 
    for(int i=0; i<inputNumber; i++){
        cnt = 0;
        for(int j=0; j<inputNumber; j++){
            if(height[i] < height[j] && weight[i] < weight[j]){
                cnt++;
            }
        }
        printf("%d ", cnt + 1);
    }
    return 0;
}
 

 

반응형

'알고리즘 > 백준' 카테고리의 다른 글

[백준] 10828 스택 (C언어)  (0) 2020.04.01
[백준] 8958 OX퀴즈 (C언어)  (0) 2020.03.27
[백준] 2446 별 찍기 - 9 (C언어)  (0) 2020.03.23
[백준] 2523 별찍기 - 13 (C언어)  (0) 2020.03.18
[백준] 5543 상근날드 (C언어)  (0) 2020.03.17
반응형

이 문제의 예시는 숫자 5를 입력했을 때 처음에 별이 9개가 출력되고 홀수 간격으로 7, 5, 3, 1 개수의 별이 출력이 되며 다시 홀수 간격으로 증가한다. 

이 부분을 보고 임의의 숫자를 입력했을 때 처음 별은 몇 개를 출력해야하는지 규칙을 찾아보는 방법은 아래와 같이 하였다.

 

 

표를 보고 알게된 규칙은 처음 출력되는 별의 개수가 입력한 숫자 * 입력한 숫자 - 1 이라는 것이다. 다음은 구현한 코드이다.

 

/*
* Author : Jeonghun Cho
* Date : March 23, 2020
*/
 
#include <stdio.h>
 
int main() {
    int inputNumber;
    scanf("%d"&inputNumber);
    int star = inputNumber * 2 - 1;
 
    for(int i=0; i<inputNumber; i++){
        for(int j=0; j<i; j++){
            printf(" ");
        }
        for(int k=0; k<star; k++){
            printf("*");
        }
        star -= 2;
        printf("\n");
    }
    
    star = 3;
    
    for(int i=inputNumber-2; i>=0; i--){
        for(int j=0; j<i; j++){
            printf(" ");
        }
        for(int k=0; k<star; k++){
            printf("*");
        }
        star += 2;
        printf("\n");
    }
    
 
    return 0;
}
\

 

반응형

'알고리즘 > 백준' 카테고리의 다른 글

[백준] 8958 OX퀴즈 (C언어)  (0) 2020.03.27
[백준] 7568 덩치 (C언어)  (0) 2020.03.24
[백준] 2523 별찍기 - 13 (C언어)  (0) 2020.03.18
[백준] 5543 상근날드 (C언어)  (0) 2020.03.17
[백준] 2675 문자열 반복 (Java)  (0) 2019.12.06
반응형

별찍기 문제는 너무 시르다.

 

/*
 * Author : Jeonghun Cho
 * Date : March 18, 2020
 */
 
#include <stdio.h>
 
int main() {
    int star;
    scanf("%d"&star);
    
    for(int i=0; i<star; i++){
        for(int j=0; j<=i ; j++){
            printf("*");
        }
        printf("\n");
    }
    for(int i=star-1; i>0; i--){
        for(int j=0; j<i ; j++){
            printf("*");
        }
        printf("\n");
    }
    
    return 0;
}

 

반응형
반응형

두 가지 방법으로 풀었다. 첫 번째 방법은 버블 정렬을 사용하였으며 두 번째 방법은 평범하게 풀었다.

버블 정렬을 사용하여 상덕, 중덕, 하덕버거 중 가장 가격이 낮은 버거를 찾았으며(food배열의 0번째 인덱스) 음료와 콜라는 삼항 연산자를 사용하였다.

 

버블 정렬을 사용한 풀이 방법

 
/*
 * Author : Jeonghun Cho
 * Date : March 17, 2020
 */
 
#include <stdio.h>
 
int main() {
    int food[5];
    int arrSize = sizeof(food)/sizeof(int);
    int temp;
    
    for(int i=0; i<arrSize; i++){
        scanf("%d"&food[i]);
    }
    
    for(int i=0; i<2; i++){
        for(int j=0; j<2; j++){
            if(food[j] > food[j+1]){
                temp = food[j];
                food[j] = food[j+1];
                food[j+1= temp;
            }
        }
    }
    printf("%d\n", (food[3> food[4] ? food[0]+food[4]-50 : food[0]+food[3]-50));
    
    return 0;
}

2. 무난하게 푼 방법

 
/*
 * Author : Jeonghun Cho
 * Date : March 17, 2020
 */
 
#include <stdio.h>
 
int main() {
    int food[5];
    int beverage;
    int burger;
    
    for(int i=0; i<sizeof(food)/sizeof(int); i++){
        scanf("%d"&food[i]);
    }
    burger = food[0];
    beverage = (food[3> food[4]) ? food[4] : food[3];
 
    if(food[0> food[1]){
        burger = food[1];
    }
    if(burger > food[2]){
        burger =  food[2];
    }
    printf("%d\n", burger+beverage-50);
 
    return 0;
}
 
반응형

+ Recent posts