알고리즘 with JAVA

    백준 1316번 그룹 단어 체커 - 자바

    www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 설명 대로 그룹 단어의 개수를 출력하는 문제입니다. 그룹 단어란 예제처럼 happy new year a b c 같이 이미 나왔던 알파벳이 또 다시 나오는 경우는 그룹 단어에서 제외 됩니다. 무조건 제외 되지는 않습니다. 알파벳이 연속으로 나오는 경우는 그룹단어입니다. happy처럼 pp가 연속으로 나왔으니 그룹단어입니다. 만약 happyp 처럼 pp다음 y가오고 p가 다시온다면 ..

    백준 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. 출력은 대문자로 출력한다. ---------------------------------------제가 푼 전체 코드----------------------------------..

    백준 2675번 문자열 반복 - 자바

    www.acmicpc.net/problem/2675 2675번: 문자열 반복 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다 www.acmicpc.net 1. 이 문제는 테스트 케이스의 개수가 T개 만큼 주어집니다. 2. T 테스트 케이스는 숫자 문자열로 이루어져 있습니다. 3. 문자열에 문자 하나당 숫자만큼의 반복을 해서 새로운 문자열 P를 만들어 내라는 문제입니다. 예제처럼 3 ABC가 들어오면 A3번 B3번 C3번 씩 해서 새로운 문자열 AAABBBCCC를 만들어내면 됩니다. ------------------------------------전체 코..

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

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