반응형

이 문제의 예시는 숫자 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;
}
 
반응형
반응형

너무 빨리 풀어서 깜짝 놀랐다.

BufferedWriter클래스를 사용하지 않은 코드와 사용한 코드.

 

/*
 * Author : Jeonghun Cho
 * Date : December 6, 2019
 */
 
public class Main {
 
    public static void main(String[] args) throws IOException{
        // TODO Auto-generated method stub
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int size = Integer.parseInt(br.readLine()); 
        String[] input = new String[size]; 
        
        for(int i=0; i<size; i++) {     
            input = br.readLine().split(" ");
            for(int j=0; j<input[1].length(); j++) { 
                char ch = input[1].charAt(j);
                for(int k=0; k<Integer.parseInt(input[0]); k++) {
                    System.out.print(ch); 
                }
            }
            System.out.println();
        }
        br.close();
    }
}
 
Colored by Color Scripter

 

 

/*
 * Author : Jeonghun Cho
 * Date : December 6, 2019
 */
 
public class Main {
 
    public static void main(String[] args) throws IOException{
        // TODO Auto-generated method stub
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        int size = Integer.parseInt(br.readLine()); 
        String[] input = new String[size]; 
        
        for(int i=0; i<size; i++) {     
            input = br.readLine().split(" ");
            for(int j=0; j<input[1].length(); j++) { 
                char ch = input[1].charAt(j);
                for(int k=0; k<Integer.parseInt(input[0]); k++) {
                    bw.write(ch);
                }
            }
            bw.write("\n");
        }
        bw.flush();
        bw.close();
        br.close();
    }
}
Colored by Color Scripter
반응형
반응형
/*
 * Author : Jeonghun Cho
 * Date : December 6, 2019
 */
 
public class Main {
 
    public static void main(String[] args) throws IOException{
        // TODO Auto-generated method stub
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        System.out.println(st.countTokens());
        br.close();
    }
 
}
 
Colored by Color Scripter
반응형
반응형

Java

풀이 1번 / 2번

/*
 * Author : Jeonghun Cho
 * Date : December 5, 2019
 */
 
public class Main {
 
    public static void main(String[] args) throws IOException{
        // TODO Auto-generated method stub
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] inputNumber = br.readLine().split(" ");
        br.close();
        for(int i=0; i<inputNumber.length; i++) {
            String temp = inputNumber[i].charAt(0)+""
            String temp2 = inputNumber[i].charAt(2)+"";
            inputNumber[i] = temp2+(inputNumber[i].charAt(1)+"")+temp;
        }
        
        if(Integer.parseInt(inputNumber[0]) > Integer.parseInt(inputNumber[1])) {
            System.out.println(inputNumber[0]);
        }else {
            System.out.println(inputNumber[1]);
        }
    }
}
Colored by Color Scripter
 
/*
 * Author : Jeonghun Cho
 * Date : December 5, 2019
 */
 
public class Main {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuffer sb = new StringBuffer();
        StringTokenizer st = new StringTokenizer(br.readLine());
        String a = st.nextToken(); 
        String b = st.nextToken();
        
        int first = Integer.parseInt(sb.append(a).reverse().toString());
        sb.delete(0, sb.length());
        int second  = Integer.parseInt(sb.append(b).reverse().toString());
        
        if(first > second) {
            System.out.println(first);
        }else {
            System.out.println(second);
        }
        br.close();
    }
}
 
Colored by Color Scripter

C언어

#include <stdio.h>
 
int main(void)
{
    int a,b;
    scanf("%d %d",&a,&b);
    a=(a%10)*100+((a/10)%10)*10+a/100;
    b=(b%10)*100+((b/10)%10)*10+b/100;
    if(a>b)
        printf("%d",a);
    else
        printf("%d",b);
    return 0;
}
 
반응형
반응형

어려웠다 ㅠㅠ

/*
 * Author : Jeonghun Cho
 * Date : December 5, 2019
 */
 
public class Main {
 
    public static void main(String[] args) throws IOException{
        // TODO Auto-generated method stub
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String input = br.readLine(); // 사용자 값 입력
        String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"// 문자열 저장
        String[] alphabetArr = new String[8];  // A-Z까지 저장할 크기가 9인 문자열 배열 생성
        int count = 0, sum = 0;
        br.close();
        
        for(int i=0; i<alphabetArr.length; i++) { 
            // substring()메소드를 사용해서 세 칸 간격으로 잘라서 각 각 배열에 저장. 단,인덱스가 5와 7일 경우만 배열에 네 칸 저장.
            if(i==5 || i==7) {
                alphabetArr[i]=alphabet.substring(count,count+=4);
                continue;
            }
            alphabetArr[i]=alphabet.substring(count,count+=3);         
        } // for end
        count = 0;
        while(true) { // 사용자가 입력한 문자열을 alphabetArr배열에서 찾기
            char ch = input.charAt(count);
            for(int i=0; i<alphabetArr.length; i++) {
                for(int j=0; j<alphabetArr[i].length(); j++) {
                    if(ch == alphabetArr[i].charAt(j)) {
                        sum += (i+2);
                        count++;
                    }
                }
            }
            if(count == input.length()) {
                System.out.println(sum+input.length());
                break;
            }
        }
    }
}
Colored by Color Scripter
반응형
반응형
package baekjoon;
/*
 * Author : Jeonghun Cho
 * Date : December 4, 2019
 */
 
public class B11654 {
 
    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int i = br.read();
        System.out.println(i);
    }
    br.close();
}
 
Colored by Color Scripter
반응형

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

[백준] 2908 상수 (Java, C언어)  (0) 2019.12.05
[백준] 5622 다이얼 (Java)  (0) 2019.12.05
[백준] 15596 정수 N개의 합 (Java)  (0) 2019.12.04
[백준] 8958 OX퀴즈 (Java)  (0) 2019.12.03
[백준] 1546 평균 (Java)  (0) 2019.12.03
반응형
/*
 * Author : Jeonghun Cho
 * Date : December 4, 2019
 */
public class Test {
    long sum(int[] a) {
        long ans = 0;
        for(int i=0; i<a.length; i++){
            ans +=a[i];
        }
        return ans;
    }
}
 
Colored by Color Scripter
반응형

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

[백준] 5622 다이얼 (Java)  (0) 2019.12.05
[백준] 11654 아스키 코드 (Java)  (0) 2019.12.04
[백준] 8958 OX퀴즈 (Java)  (0) 2019.12.03
[백준] 1546 평균 (Java)  (0) 2019.12.03
[백준] 2577 숫자의 개수 (Java)  (0) 2019.12.03
반응형
/*
 * Author : Jeonghun Cho
 * Date : December 3, 2019
 */
 
public class Main {
 
    public static void main(String[] args) throws IOException{
        // TODO Auto-generated method stub
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        int[] size = new int[Integer.parseInt(br.readLine())];
        String[] str = new String[size.length];
        int count = 0;
        int sum = 0;
        char ch;
        
        for(int i=0; i<size.length; i++) {
            str[i] = br.readLine();
        }
        for(int i=0; i<size.length; i++) { 
            for(int j=0; j<str[i].length(); j++) {
                ch = str[i].charAt(j); 
                if(ch == 'O') {
                    sum = sum + (++count); 
                }else {
                    count = 0// 
                }
            }
            bw.write(sum+"\n");
            sum = 0;
            count = 0;
        }
        bw.flush();
        bw.close();
        br.close();
    }
}
Colored by Color Scripter
반응형

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

[백준] 11654 아스키 코드 (Java)  (0) 2019.12.04
[백준] 15596 정수 N개의 합 (Java)  (0) 2019.12.04
[백준] 1546 평균 (Java)  (0) 2019.12.03
[백준] 2577 숫자의 개수 (Java)  (0) 2019.12.03
[백준] 2562 최댓값 (Java)  (0) 2019.12.03

+ Recent posts