백준(10)
-
[백준] 2941 - 크로아티아 알파벳
백준링크 : 바로가기 #String #StartsWith #substring 문제 풀이 배열과 반복문으론 풀 수 없었던 문제. 풀이를 보고서야 String 메서드 StartsWith을 사용해야함을 알 수 있었다. 문자열이 입력한 문자로 시작하면 true를 반환하는 boolean 타입 메서드다. 로직은 true로 반환됐을 때 substring으로 문자열을 잘라주었고, false의 경우 1글자만 substring으로 잘라줬다. 크로아티아 글자 수 count 변수 croCnt엔 한 번 돌 때마다 ++ 해줬다. 중첩 반복문을 사용했다. 처음엔 for문 2개를 썼지만 code의 길이가 일정하지 않기 때문에 조건을 넣을 수 있는 while문에 code.length > 0 을 stop 조건으로 뒀다. 기억하자 sub..
2020.09.10 -
[백준] 1316 - 그룹 단어 체커
백준링크 : 바로가기 #문자열 #배열 문자열 문제는 아스키 코드와 if문 로직을 활용해 풀 수 있었다. 로직을 짜는데 귀찮음이 있었지만 복잡하더라도 경우의 수를 하나씩 해결해가며 올리면 성공 확률에 근접하는 듯하다. 이번 문제는 푸는데 실패했던 크로아티아 알파벳 문제보다 고려할 경우의 수가 적었다. 그 문제는 단어 내 문자열 수가 다른 글자들이 몇 개 포함되어 있는지를 찾아야 돼서 문자열 수가 달랐던 점이 힘들었다. 그룹 단어 체커는 알파벳이 연속해서 나오기만 하면 된다. 대신 이미 나온 알파벳이 다른 알파벳의 뒤에 다시 나오면 안된다. 그룹 단어가 아니라는 뜻이다. 로직은 for문 3중첩을 이용했다. 최대 글자 수와 단어 수가 100개인 점을 감안했다. if문은 현재 charAt(i)와 다음 순서 ch..
2020.09.09 -
[백준] 11654 - 아스키 코드 변환
백준링크 : 바로가기 11654번: 아스키 코드 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. www.acmicpc.net #문자열 #아스키 코드 아스키 코드 변환에 대한 개념을 정립할 수 있는 문제. char 문자가 숫자인지 문자인지 판별하는 Character.isDigit 클래스 메서드는 덤. 아스키 코드 7비트로 표현한 정보교환용 부호체계. 총 128개의 부호가 사용된다. 2바이트 이상의 코드를 표현 못하기 때문에 유니코드(UTF-8)가 현재 국제표준 위상을 가지고 있다. Dec 컬럼이 10진수로 나타낸 숫자이고, Char 컬럼이 부호(아스키 코드)이다. Java에서의 아스키 코드 문자 to 숫자, 숫자 to 문자 1) 숫..
2020.09.02 -
[백준] 1065 - 한수
백준링크: 바로가기 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 �� www.acmicpc.net # 함수 # 브루트포스 알고리즘 내가 약한 부분을 알게 됐다. 브루트 알고리즘 처럼 로직 구현 과정이 한 스쿱으로 끝나지 않고 겉만 햝기 쉬운 문제. 걸린 시간 중 50%는 등차수열을 이해못해서 허비했다. 공차(수열들의 차이)가 0, 음수(-)도 허용되고 연속된 수가 동일한 수의 차이로 존재해야 하는 수열임.. 문제를 간략 요약하자면 입력된 N까지 각 자릿 수가 등차수열로 이루어진 한수의 개수를 출력하면 된다. 예제 입출력을 보면 1 ~ 9..
2020.09.01