알고리즘

    백준 2941 크로아티아 알파벳 - 자바

    www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 문제를 설명 드리자면 첫 번째 줄에 문자열이 주어집니다. 그 문자열은 =,-,소문자영어 로 이루어져있습니다. 그 문자열 중에서 크로아티아 문자가 있는 것 입니다. "c=","c-","dz=","d-","lj","nj","s=","z=" 이 문자열들이 크로아티아의 한문자씩이라고 보시면 됩니다. 그래서 문자열 중에서 이런 문자가 있으면 1문자로 인식을하고 나머지 문자를 포함해서..

    백준 5622번 다이얼 - 자바

    www.acmicpc.net/problem/5622 5622번: 다이얼 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다. www.acmicpc.net 이 문제는 다이얼이 핵심이다. 문자열이 입력되는데, 문자 하나하나를 비교하여 해당 다이얼에 번호가 눌린다. 숫자1을 걸려면 총 2초가 필요하다는건 숫자1을 누르고 다이얼이 초기화 된다. 초기화 되면서 1초가 걸리는 것이다. 그러니 1,2,3 이라면 1초 + 1초 + 2초 + 1초 + 3초 + 1초 가 되는 것이다. 이 문제를 해결하기 위해서는 다이얼에 쓰여진 문자가 어떤 번호를 가르키는지가 중요하다. 저는 이 문제를 Switch case를 사용하여 풀이하였습니다. import java.util...

    백준 2908번 상수 - 자바

    www.acmicpc.net/problem/2908 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net 세자리 수의 수가 첫 줄에 두개 주어집니다. 두 수는 공백으로 구분이 됩니다. 예제를 보면 734 893 이 들어옵니다. A 라는 수가 734고 B라는 수가 893가 됩니다. 734인 A를 거꾸로 437을 만들고 B도 398을 만듭니다. 그리고 이 두 수를 비교해서 큰 수를 출력하면 되는 문제입니다. import java.util.Scanner; class Main { public static void main(String..

    백준 1152번 단어의 개수 - 자바

    www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 www.acmicpc.net 브론즈 2 등급의 문제지만 엄청 간단한 문제입니다. 첫 줄에 문자열을 입력받습니다. 이 문자열은 대소문자로 된 영단어가 입력되는데, 구분은 공백으로 구분됩니다. 주의해야 할 점은 공백은 연속으로 나오지는 않지만 공백이 문자의 앞뒤에 있을 수도 있다는 것 입니다. 공백을 기준으로 단어들을 잘라서 그 단어들의 개수를 출력하면 되는 알고리즘 입니다. 두 방식으로 풀어 보았습니다. 1. StringTokenizer..

    백준 1157번 단어 공부 - 자바

    www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 이 문제는 첫 번째 단어를 입력 받아 그 단어 중에서 가장 많이 사용 된 알파벳이 어떤 것인지 대문자로 출력하는 프로그램이다. 주의할 점은 1. 가장 많이 사용된 알파벳이 여러개 존재하는 경우에는 '?' 를 출력한다. 2. 입력은 대소문자로 구성된 단어가 입력된다. 3. 출력은 대문자로 출력한다. ---------------------------------------제가 푼 전체 코드----------------------------------..

    백준 10809번 알파벳 찾기 - 자바

    www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net ! 알고리즘 풀이는 정답이 없습니다. 이런 방법도 있구나 하고 봐주시면 감사하겠습니다. - 알고리즘 초보 - 1. 문제는 첫 째 줄에 S라는 문자열이 주어집니다. 2. 그 문자열에 a부터 z까지 0~25 인데 그 중 주어진 S라는 문자열에 해당하는 알파벳이 몇 번째 순서에 있는지 찾는 알고리즘 입니다. 3. 출력은 알파벳이 몇번 째로 나오는지와 존재하지 않는 알파벳 위치에는 -1이 출력되면 되겠습니..

    백준 11720번 숫자의합 - 자바

    www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net 예제처럼 처음에 숫자가 입력되고 그 숫자만큼의 개수로 숫자가 입력됩니다. 첫줄에 5가 입력되면 5개의 숫자가 다음줄에 공백없이 입력되는 것 입니다. 처음엔 StringToken을 사용하여 문자열로 읽어 사용할 계획이었으나 StringToken은 기본적으로 \t\n\r\t 이 기준으로 나눠지기 때문에 문자열로 읽어 한문자씩 가져오는 방법을 사용했습니다. import java.util.*; class Main { public static void main(String args[]) { Scanne..

    백준 11654번 아스키코드 - 자바

    www.acmicpc.net/problem/11654 11654번: 아스키 코드 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. www.acmicpc.net 간단하게 문자 하나를 입력받고 그 문자를 아스키코드값으로 출력하는 문제입니다. import java.util.Scanner; class Main { public static void main(String args[]) { Scanner sc = new Scanner(System.in); int a = sc.next().charAt(0); System.out.println(a); } } Scanner로 입력을 받았습니다. Scanner는 next()로 입력받으면 문자열로 입력이..