본문 바로가기
728x90
반응형

코딩테스트15

백준 2941 크로아티아 알파벳(Java) - 문자열 카운트 / 시행착오 문제 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 예를 들어, ljes=njak은 크로아티아 알파벳 6개(lj, e, š, nj, a, k)로 이루어져 있다. 단어가 주어졌을 때, 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다. dž는 무조건 하나의 알파벳으로 쓰이고, d와 ž가 분리된 것으로 보지 않는다. lj와 nj도 마찬가지이다. 위 목록에 없는 알파벳은 한 글자씩 센다. 입력 첫째 줄에 최대 100글자의 단어가 주어진다. 알파벳 소문자와 '-', '='로만 이루어져 있다. 단어는 크로아티아 알파벳으로 이루어져 있다. 문제 설명의 표에 나와있는 알파벳은 변경된 형태로 입력된다. 출력 입력으로 주어진 단어가 몇 개.. 2021. 11. 14. 16:24
백준 1065 한수 (Java) - 로지컬한 케이스 분리는 언제나 중요하다 문제 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 1,000보다 작거나 같은 자연수 N이 주어진다. 출력 첫째 줄에 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력한다. 1보다 크거나 같고, 입력받은 수 자기 자신까지 정수 각 자리가 등차수열을 이루는 숫자를 체크하는데 1의자리, 10의자리 숫자는 당연히 여기에 모두 포함된다. 뺄 게 어딨다고? 그리고 1000의 경우에는 함정카드다. 1-0 = 1 , 0-0=0 으로 등차수열이 성립하지 않는다. 그러니 사실상 100부터 999.. 2021. 11. 10. 22:10
백준 4673 셀프넘버 (Java) 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), ...과 같은 무한 수열을 만들 수 있다. 예를 들어, 33으로 시작한다면 다음 수는 33 + 3 + 3 = 39이고, 그 다음 수는 39 + 3 + 9 = 51, 다음 수는 51 + 5 + 1 = 57이다. 이런식으로 다음과 같은 수열을 만들 수 있다. 33, 39, 51, 57, 69, 84, 96, 111, 114, 120, 123, 129, 141, ... n을 d(n)의 생성자라고 한.. 2021. 11. 10. 18:44
백준 2588 곱셈 손계산 구현하기 (Java) (세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다. (1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오. 첫번째 수를 a, 두번째 수를 b라고 하면 b = 100x + 10y + z 꼴로 분해가 가능하다. 그리고 a*b = a * 100x + a * 10y + a * z 로 분리하여 생각할 수 있고, 문제의 의도는 (3) a*z (4) a*10y (5) a*100x (6) a*b (최종결과) 를 분리하여 출력하는 것에 있다. 두 정수 a, b 를 입력받았고 z = b % 10 385 % 10 하면 385를 10으로 나눈 나머지 5가 출력된다. y = b % 100 / 10 385 %100 하면 .. 2021. 11. 3. 23:19
백준 10171 고양이 출력하기 (Java) : 이스케이프 문자 https://www.acmicpc.net/problem/10171 10171번: 고양이 아래 예제와 같이 고양이를 출력하시오. www.acmicpc.net public class Main{ public static void main(String[] args){ System.out.println("\\ /\\"); System.out.println(" ) ( ')"); System.out.println("( / )"); System.out.println(" \\(__)|"); } } println하면 그다음 출력때 알아서 개행이 되고 \ 를 출력하려면 \\ 로 이스케이프 문자를 사용해야 한다는게 이 문제의 포인트 아 누가보면 비웃어도 할말은 없는데 나 정말 한번도 시험을 본 적이 없어서... 기초문제들만.. 2021. 10. 30. 21:31
코딩테스트 카테고리를 신설했습니다. 코딩테스트를 한번도 준비해본적이 없는 입장에서(.....) 문제 유형과 많이 사용되는 사이트/ide들에 적응해야 할 필요가 느껴진다. 아무리 찾아봐도 어느정도 기초가 있는 사람들에게 맞는 어려운 강의들은 많은데 나같이 언어 써보고 개발만 해봤지 전공지식이 부족하고 테스트 자체를 처음 준비 시작하는 사람들에게는 참고할만한 게 생각보다 별로 없는 것 같아서 카테고리를 파게 되었다. 기초 강의도 많고, 어려운 문제들 푸는 강의도 많은데 중간이 없는 느낌이라 해야하나? 내가 못찾아서 못한건가? 처음 코딩테스트를 준비하는, 비전공자 시선에서 시작해보는 카테고리 아, 코딩테스트도 안쳐본 비전공자가 지금 회사 어떻게 입사했냐고? 라떼는 코딩테스트 있는 회사가 훨씬 적었다ㅠㅠ 개발 직무가 아닌 기획을 비롯한, 원래 전.. 2021. 10. 30. 20:26
728x90
반응형