반응형

 

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

 

백준 알고리즘의 문자열 중 크로아티아 알파벳 ( 문제 번호 : 2941 )의 소스입니다.

 

 

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

 

1) JAVA

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		String alphabat = scan.nextLine();
		scan.close();
		String[] c = {"c=","c-","dz=","d-","lj","nj","s=","z="};
		for(int i=0; i<c.length;i++){
			while(alphabat.contains(c[i])){
				alphabat = alphabat.replaceFirst(c[i], " ");
			}
		}
		System.out.println(alphabat.length());
	}

}

 

2) PYTHON

alpha = input()
word = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z=']
for i in word:
    alpha = alpha.replace(i, ' ')
print(alpha.__len__())

 

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

 

반응형
반응형

 

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

 

백준 알고리즘의 문자열 중 다이얼 ( 문제 번호 : 5622 )의 소스입니다.

 

 

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

 

1) JAVA

import java.util.Scanner;

public class Main {
	public static void main(String[] args){
		Scanner scan = new Scanner(System.in);
		String num = scan.nextLine();
		scan.close();
		int time = 0;
		
		for(int i=0; i<num.length();i++){
			char text = num.charAt(i);
			if(text >='A' && text <= 'C'){
				time += 3;
			}else if(text >='D' && text <= 'F'){
				time += 4;
			}else if(text >='G' && text <= 'I'){
				time += 5;
			}else if(text >='J' && text <= 'L'){
				time += 6;
			}else if(text >='M' && text <= 'O'){
				time += 7;
			}else if(text >='P' && text <= 'S'){
				time += 8;
			}else if(text >='T' && text <= 'V'){
				time += 9;
			}else{
				time += 10;
			}
		}
		System.out.println(time);
	}
}

 

2) PYTHON

    * 알파벳을 숫자 단위로 묶어서 index 번호로 time을 더해준다 0부터 시작하니까 +3으로 한다.

num = input()
alphabet = ['ABC', 'DEF', 'GHI', 'JKL', 'MNO', 'PQRS', 'TUV', 'WXYZ']
time = 0
for i in range(len(num)):
    for j in alphabet:
        if num[i] in j:
            time += alphabet.index(j)+3
print(time)

 

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

 

반응형
반응형

 

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

 

최근 6월 13일에 있었던 2급 2차 시험에 합격하여 리눅스 마스터 2급 시험에 대하여 시험일정과 제가 했었던 공부방법을 이야기 해보려고 합니다!

 

0) 2020년도 시험 일정

 

 

1) 이 시험을 선택한 이유?

     제가 리눅스 마스터 2급을 공부하게된 계기는 제가 업무적으로 리눅스 기반의 서버에서 간단한 쉘을 만들거나,

     설정파일들을 수정하고, 회사 솔루션 모듈들을 직접 다뤄야하는 일들이 꽤 있었습니다.

     이러한 부분을 그냥 다뤄봤고 활용이 가능하다라는 부분을 증명해줄 수 있는 자격증으로 남겨두어야겠다라는

     생각에 리눅스 마스터 공부를 시작하게 되었었습니다

 

 

2) 1차 시험 공부 방법

     1차 시험은 다른 분들의 블로그 후기처럼 족보PDF를 구하여 오픈북으로 시험을 보았고,

     불안하신 분들은 어차피 2차 시험때 공부하시려면 책을 사셔야 하니 책을 미리 정독하시고 보시는걸 추천드립니다.

 

 

3) 2차 시험 공부 방법

     문제은행식이라 CBT(https://www.comcbt.com)에서 최신 기출문제(2017년~2019년)를 프린트하여

     1과목만 먼저 다 푼뒤 2과목으로 넘어가서 오답노트를 작성하였습니다.

 

     1과목만 먼저 다 풀었던 이유는 문제가 반복되기도 하고 비슷한 문제들이 매년 나오기 때문에 정 모르겠으면

     문제답문제답 이런식으로라도 외워두려고 했고, 1과목에서 나왔던 개념들이 2과목에서 중복되게 나오는 부분이

     있기 때문에 1과목만 안정적으로 점수를 해놓으면 합격할 수 있겠다라는 생각이 들어서였습니다.

 

     제 방식대로 풀다보면 어느순간 중복되서 틀리는 문제들이 생겨요 같은건데 개념이 명확하게 이해되지 않았거나,

     확실히 외워지지 않았던 부분이 보이기 시작하는거죠 아래는 제가 공부하면서 적었던 공부기록 중 과목별로

     처음으로 풀었던 회차 공부기록(?)입니다.

     ( 맞던 틀리던 과목별로 처음으로 푼 회차는 개념을 적으면서 이해하고 외우려고 자세히 적었었습니다. )

 

    마지막으로 시험 전날은 CBT의 랜덤문제(2017~2019)로 해서 계속 문제를 풀었습니다.

    물론 그전에 기출문제로 풀었긴 했지만 최종적으로 헷갈리는 부분을 다시 찾을 수 있기 때문이에요

 

 

 

여러분도 리눅스마스터 2급 준비 차분히 하시고 합격 하시길 기원합니다!

 

 

 

반응형
반응형

 

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

 

백준 알고리즘의 문자열 중 상수 ( 문제 번호 : 2908 )의 소스입니다.

 

 

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

 

1) JAVA

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		String[] number = scan.nextLine().split(" ");
		int[] result = new int[number.length];
		
		for(int i=0; i<number.length; i++){
			String reverse = "";
			for(int j=0; j<number[i].length(); j++){
				reverse += number[i].charAt(number[i].length()-j-1);
			}
			result[i] = Integer.parseInt(reverse);
		}
		
		if(result[0] < result[1]){
			System.out.println(result[1]);
		}else{
			System.out.println(result[0]);
		}
		
		scan.close();
	}
}

 

2) PYTHON

number = input().split()
result = []
for i in range(len(number)):
    reverse = ''
    size = len(number[i])
    for j in range(size):
        reverse += number[i][size-j-1]
    result.append(reverse)
print(max(result))

 

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

 

반응형
반응형

 

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

 

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

 

 

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

 

1) JAVA

    * 공백만 들어왔을경우도 생각을 해서 짜야함

import java.util.Scanner;

public class Main {
	public static void main(String[] args){
		Scanner scan = new Scanner(System.in);
		String[] words = scan.nextLine().trim().split(" ");
		if(words[0].isEmpty()){
			System.out.println(0);
		}else{
			System.out.println(words.length);
		}
		scan.close();
	}
}

 

2) PYTHON

words = input().split()
print(len(words))

 

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

 

반응형
반응형

 

 

안녕하세요 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 입니다.

 

백준 알고리즘의 문자열 중 문자열 반복 ( 문제 번호 : 2675 )의 소스입니다.

 

 

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

 

1) JAVA

import java.util.Scanner;

public class Main {
	public static void main(String[] args){
		Scanner scan = new Scanner(System.in);
		int t = Integer.parseInt(scan.nextLine());
		for(int i=0; i<t; i++){
			int cnt = scan.nextInt();
			String r = scan.next();
			for(int k=0; k<r.length(); k++){
				for(int j=0; j<cnt; j++){
					System.out.print(r.charAt(k));
				}
			}
			System.out.println();
		}
		scan.close();
	}
}

 

2) PYTHON

t = int(input())
for i in range(t):
    cnt, r = input().split()
    for j in r:
        print(j*int(cnt), end='')
    print()

 

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

 

반응형
반응형

 

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

 

백준 알고리즘의 문자열 중 알파벳 찾기 ( 문제 번호 : 10809 )의 소스입니다.

 

 

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

 

1) JAVA

    * indexOf 함수는 입력받은 s의 값 중 a~z의 문자의 위치를 반환해주고, 없으면 -1을 반환 해준다.

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		String s = scan.nextLine();
		scan.close();
		
		for(char i='a'; i<='z'; i++){
			System.out.print(s.indexOf(i)+" ");
		}
	}

}

 

2) PYTHON

import string
s = input()
for i in list(string.ascii_lowercase):
    print(s.find(i), end=' ')

 

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

 

반응형

+ Recent posts