반응형

 

안녕하세요 Jin's 입니다.

 

백준 알고리즘의 문자열 중 숫자의 합 ( 문제 번호 : 11720 )의 소스입니다.

 

 

Java와 Python 두가지 버전 소스입니다.

 

1) JAVA

import java.util.Scanner;

public class Main {
	
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int n = scan.nextInt();
		String num = scan.next();
		int result = 0;
		
		for(int i=0; i<n; i++){
			result += Integer.parseInt(String.valueOf(num.charAt(i)));
		}
		
		System.out.println(result);
		scan.close();
	}

}

 

2) PYTHON

n = int(input())
num = input()
result = 0
for i in range(n):
    result += int(num[i])
print(result)

 

여러분도 한번 풀어보세요!

 

반응형
반응형

 

안녕하세요 Jin's 입니다.

 

백준 알고리즘의 문자열 중 아스키 코드 ( 문제 번호 : 11654 )의 소스입니다.

 

 

Java와 Python 두가지 버전 소스입니다.

 

1) JAVA

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

public class Main {

	public static void main(String[] args) throws IOException {
		BufferedReader read = new BufferedReader(new InputStreamReader(System.in));
		byte[] result = read.readLine().getBytes();
		read.close();
		for(byte r : result){
			System.out.println(r);
		}
	}
}

 

2) PYTHON

    * ord => 문자를 아스키 코드로 변환

print(ord(input()))

 

여러분도 한번 풀어보세요!

 

 

반응형
반응형

 

안녕하세요 Jin's 입니다.

 

백준 알고리즘의 함수 중 한수 ( 문제 번호 : 1065 )의 소스입니다.

 

 

Java와 Python 두가지 버전 소스입니다.

 

1) JAVA

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int n = scan.nextInt();
		scan.close();
		int result = 0;
		
		if(n<100){
			result=n;
		}else{
			result = 99;
			
			for(int i=100; i<=n;i++){
				int a = i/100;
				int b = i/10%10;
				int c = i%10;
				if(b*2 == a+c){
					result++;
				}
			}
		}
		System.out.println(result);
	}
}

 

2) PYTHON

n = int(input())
result = 0
if n < 100:
    result = n
else :
    result = 99
    for i in range(100, n+1):
        if 2*(i // 10 % 10) == i // 100 + i % 10:
            result += 1
print(result)

 

여러분도 한번 풀어보세요!

 

 

반응형
반응형

 

안녕하세요 Jin's 입니다.

 

최근에 리눅스 마스터 2급 준비한다고, 시험 끝났다는 마음에 또 한참을 놀다가 돌아왔습니다!

 

백준 알고리즘의 함수 중 셀프 넘버 ( 문제 번호 : 4673)의 소스입니다.

 

 

 

Java와 Python 두가지 버전 소스입니다.

 

1) JAVA

   * all_set의 숫자 정의도 for문에서 동시에 진행

import java.util.HashSet;
import java.util.Iterator;

public class Main {

	public static void main(String[] args) {
		HashSet<Integer> all_set = new HashSet<Integer>();
		HashSet<Integer> generate_set = new HashSet<Integer>();
		for(int i=1; i<10001; i++){
			int sum = i;
			all_set.add(i);
			String num = String.valueOf(i);
			for(int j=0; j<num.length(); j++){
				sum += Integer.parseInt(String.valueOf(num.charAt(j)));
			}
			generate_set.add(sum);	
		}
		all_set.removeAll(generate_set);
		
		Iterator result = all_set.iterator();
		while(result.hasNext()){
			System.out.println(result.next());
		}
	}
}

 

2) PYTHON

   * 모든 숫자를 set으로 넣어둔 뒤 생성자들을 찾은 뒤 빼주면 셀프 넘버!

all_set = set(range(1, 10001))
generate_set = set()

for i in range(1, 10001):
    for j in str(i):
        i += int(j)
    generate_set.add(i)

self_num = all_set - generate_set
for k in sorted(self_num):
    print(k)

 

여러분도 한번 풀어보세요!

 

반응형
반응형

안녕하세요 Jin's 입니다.

 

백준 알고리즘의 함수 중 정수 N개의 합 ( 문제 번호 : 15596 )의 소스입니다.

 

 

Java와 Python 두가지 버전 소스입니다.

 

1) JAVA

public class Test {
    long sum(int[] a) {
        long ans = 0;
        for(int i : a){
			ans +=i;
		}
        return ans;
    }
}

 

2) PYTHON

def solve(a):
    return sum(a)

 

여러분도 한번 풀어보세요!

반응형
반응형

 

안녕하세요 Jin's 입니다.

 

백준 알고리즘의 1차원 배열 마지막 문제인 평균은 넘겠지 ( 문제 번호 : 4344 )의 소스입니다.

 

 

Java와 Python 두가지 버전 소스입니다.

 

1) JAVA

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int testCase = Integer.parseInt(scan.nextLine());
		
		for(int i=0; i<testCase; i++){
			int student = scan.nextInt();
			int[] score = new int[student];
			int ave = 0;
			int cnt = 0;
			
			for(int j=0; j<student; j++){
				score[j] = scan.nextInt();
				ave += score[j];
			}
			ave = ave/student;
			
			for(int j=0; j<student; j++){
				if(score[j] > ave){
					cnt ++;
				}
			}
			System.out.printf("%.3f",(double)cnt/student*100);
			System.out.println("%");
		}
		scan.close();
	}
}

 

2) PYTHON

    * 리스트 자체로 for문을 돌려 for문의 j 값이 리스트안의 값이 바로 나올수 있도록 설정

      (이때 첫번째 학생수 제외하고 나오도록 [1:] 설정)

    * 소수점 이하 3자리 나오도록 %.3f 설정

    * 소수점 이하 3자리 반올림 round 지정

for i in range(int(input())):
    total = list(map(int, input().split()))
    ave = (sum(total)-total[0]) / total[0]
    cnt = 0
    for j in total[1:]:
        if j > ave:
            cnt += 1
    print(str('%.3f' % round(cnt / total[0] * 100, 3))+'%')

 

여러분도 한번 풀어보세요!

 

반응형
반응형

안녕하세요 Jin's 입니다.

 

백준 알고리즘의 1차원 배열 OX퀴즈 ( 문제 번호 : 8958 )의 소스입니다.

 

Java와 Python 두가지 버전 소스입니다.

 

1) JAVA

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int n = Integer.parseInt(scan.nextLine());
		for(int i = 0; i< n; i++){
			String ox = scan.nextLine();
			int count = 0;
			int result = 0;
			for(int j=0; j<ox.length(); j++){
				if(ox.charAt(j) == 'O'){
					count++;
					result += count;
				}else{
					count = 0;
				}
			}
			System.out.println(result);
		}
		scan.close();
	}
}

 

2) PYTHON

n = int(input())
for i in range(n):
    result = 0
    count = 0
    ox = input()
    for j in range(len(ox)):
        if ox[j].__eq__('O'):
            count += 1
            result += count
        else:
            count = 0
    print(result)

 

여러분도 한번 풀어보세요!

 

반응형
반응형

 

안녕하세요 Jin's 입니다.

 

요즘 초심을 잃고 매일 빈둥빈둥하다가 드디어 정신을 차리고 소스 올려요!

이번주부터 열심히 살려구요ㅠㅠ

 

백준 알고리즘의 1차원 배열 평균 ( 문제 번호 : 1546 )의 소스입니다.

 

 

Java와 Python 두가지 버전 소스입니다.

 

1) JAVA

    * 1차원 배열이 필요없어 사용하지 않음

    * 답이 double형이기 때문에 처음부터 double로 선언

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int n = scan.nextInt();
		double score = 0;
		double max = 0;
		double ave = 0;
		for(int i=0; i<n; i++){
			score=scan.nextInt();
			ave += score; 
			if(max < score){
				max = score;
			}
		}
		System.out.println(ave/max*100/n);
		scan.close();
	}
}

 

2) PYTHON

n = int(input())
score = list(map(int, input().split()))
m = max(score)
ave = []
for i in range(n):
    ave.append(score[i]/m*100)
print(sum(ave)/n)

    * 생각해보니 파이썬도 1차원 배열이 필요없어 사용하지 않은 버전도 같이 올려요

n = int(input())
score = list(map(int, input().split()))
m = max(score)
print(sum(score)/m*100/n)

 

여러분도 한번 풀어보세요!

 

반응형

+ Recent posts