반응형

 

 

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

 

백준 알고리즘의 문자열 중 단어 공부 ( 문제 번호 : 1157 )의 소스입니다.

 

 

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

 

1) JAVA

import java.util.Scanner;

public class Main {
	public static void main(String[] args){
		Scanner scan = new Scanner(System.in);
		String word = scan.nextLine().toUpperCase(); //대소문자 구별하지 않기위해
		scan.close();
		int[] arr = new int[26];
		int max = 0;
		char result ='?'; 
		for(int i=0; i<word.length(); i++){
			arr[word.charAt(i)-'A']++; //index를 0부터 하기 위해서 arr[0]=>'A'값이 들어가도록
			if(max < arr[word.charAt(i)-'A']){
				max = arr[word.charAt(i)-'A'];
				result = word.charAt(i);
			}else if(max == arr[word.charAt(i)-'A']){ //가장 많이 사용된 알파벳이 여러 개 존재
				result='?';
			}
		}
		System.out.println(result);
	}
}

 

2) PYTHON

   * set으로 중복되는 단어 미리 제거 후 해당 단어들에 대하여 count 한 것을 max 값과 비교

word = input().upper()
w_list = set(word)
result = ''
max_cnt = 0

for i in w_list:
    if max_cnt < word.count(i):
        max_cnt = word.count(i)
        result = i
    elif max_cnt == word.count(i):
        result = '?'
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 입니다.

 

백준 알고리즘의 1차원 배열 나머지 ( 문제 번호 : 3052 )의 소스입니다.

 

 

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

 

1) JAVA

    * HashSet으로 중복요소 제거

import java.util.HashSet;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		HashSet<Integer> set = new HashSet<>(); 
		for(int i=0; i<10;i++){
			set.add(scan.nextInt()%42);
		}
		System.out.println(set.size());
		scan.close();
	}
}

 

2) PYTHON

    * Set으로 중복요소 제거

arr = []
for i in range(10):
    arr.append(int(input()) % 42)
print(len(set(arr)))

 

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

 

반응형

+ Recent posts