
https://www.acmicpc.net/problem/11721 11721번: 열 개씩 끊어 출력하기 첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다. www.acmicpc.net 난이도 : 브론즈 3 태그 : 구현, 문자열 설명 문자열을 입력받고 열 개씩 끊어 출력하는 문제입니다. 소스코드 a = input() cnt = 0 for k in a: print(k,end="") cnt = cnt + 1 if cnt % 10 == 0 : print() 단순히 하나씩 출력하면서, 문자를 몇 개나 출력했는지 카운트하면서 카운트 개수가 10으로 나누어 떨어지면 줄바꿈(print())를 해주었습니다.

https://www.acmicpc.net/problem/9316 9316번: Hello Judge 한 줄에 하나의 Hello World, Judge i! 를 출력한다. www.acmicpc.net 난이도 : 브론즈 4 태그 : 구현 설명 숫자 n을 입력받으면, n개에 줄에 걸쳐 Hello World, Judge {n}! 을 출력하면 되는 문제입니다. 소스코드 fun main() { val n = readLine()!!.toInt() repeat(n) { println("Hello World, Judge ${it + 1}!") } }

https://www.acmicpc.net/problem/17478 17478번: 재귀함수가 뭔가요? 평소에 질문을 잘 받아주기로 유명한 중앙대학교의 JH 교수님은 학생들로부터 재귀함수가 무엇인지에 대하여 많은 질문을 받아왔다. 매번 질문을 잘 받아주셨던 JH 교수님이지만 그는 중앙대 www.acmicpc.net 난이도 : 실버 5 태그 : 구현, 재귀 설명 재귀함수를 연습하기 좋은 문제 같네요. 마지막에 "라고 답변하셨지." 문장 덕분에, 함수의 맨 끝에 재귀적 호출이 아닌, 함수의 중간 위치에서 재귀적 호출을 해야 합니다. 소스코드 val str = arrayOf( "\"재귀함수가 뭔가요?\"", "\"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.", "마을 사람들..

https://www.acmicpc.net/problem/11654 11654번: 아스키 코드 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. www.acmicpc.net 난이도 : 브론즈 5 태그 : 구현 설명 숫자가 주어졌을 때, 이걸 아스키코드로 출력하는 문제입니다. 아스키코드에 관해선 아래 포스트를 참고해주세요. https://uknowblog.tistory.com/5 ASKII(아스키 코드)를 이용한 문자출력 ASCII (American Standard Code for Information Interchange, 미국 정보 교환 표준 부호) 아스키 코드 (ASKII)란 7개의 비트를 사용하여 2^7 = 128,000(0x..

https://www.acmicpc.net/problem/5554 5554번: 심부름 가는 길 승균이는 매일 학교, PC방, 학원에 다닌다. 반복되는 일상에 익숙해진 승균이는 이동시간을 단축해서 PC방에 더 오래 머물고 싶었다. 그래서 스톱워치를 들고 이동할 때마다 기록을 잰 후 집 www.acmicpc.net 난이도 : 브론즈 4 태그 : 수학, 구현, 사칙연산 설명 입력이 4개 주어집니다. 어디부터 어디까지 간다. 라는게 다르긴 하지만, 그냥 다 더해서, x분 y초로 나타내면 됩니다. 90분을 시/분 으로 바꾸면, 1시간 30분이 됩니다. 그냥 쉽게, t분을 60으로 나눈 몫과, 60으로 나눈 나머지를 구하면 되겠네요. 소스코드 fun main() { var time = 0 repeat(4) { ti..

https://www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 난이도 : 브론즈 2 태그 : 구현, 정렬 설명 N개의 수를 오름차순 정렬하는 문제입니다. 정렬 알고리즘에는 정말 많은 알고리즘이 있습니다. 버블정렬, 선택정렬, 힙 정렬, 퀵 정렬, 기수 정렬, 병합 정렬 등등... 언어에서 자체적으로 제공하는 정렬 알고리즘은 보통은 굉장히 효율적이고, 많이 연구된 알고리즘을 사용하여 실제 개발에서는 정렬을 직접 구현하기 보단 언어에서 자체적으로 제공하는 메소드를 사용..

https://www.acmicpc.net/problem/2747 2747번: 피보나치 수 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 난이도 : 브론즈 2 태그 : 수학, 구현 설명 점화식을 배울 때 예시로 많이 쓰이는 피보나치 수 입니다. 이전 두 수의 합이 다음 수가 된다는 점에서, n1, n2의 합을 더한 수를 저장해놓고, n1에 n2를 저장하고, n1과 n2를 저장해논 값을 n2에 저장하는 방식으로 풀 수 있습니다. 소스코드 #define _CRT_SECURE_NO_WARNINGS #inc..

https://www.acmicpc.net/problem/11179 11179번: 2진수 뒤집기 희연이는 스웨덴으로 이사하여 현재 학교를 다니고 있다. 1학년 교육과정은 중국에서 배웠고, 스웨덴과 중국 두 나라의 교육과정은 완전히 다르다. 희연이는 수학을 좋아한다. 하지만 지금은. www.acmicpc.net 난이도 : 브론즈 1 태그 : 수학, 구현, 문자열 설명 숫자 n을 2진수로 만들고, 2진수를 뒤집고, 2진수를 다시 10진수로 만드는 문제입니다. 조금 귀찮고 번거로운 문제로 보일 수 있지만... 자바/코틀린에서 기본적으로 제공하는 메소드를 잘 이용하면 쉽게 풀 수 있습니다. 소스코드 fun main() { print((Integer.toBinaryString(readLine()!!.toInt()..

https://www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net 난이도 : 브론즈 3 태그 : 수학, 구현 설명 N개의 정수가 주어지고, 최소값과 최대값을 구하는 문제입니다. 첫 번째 값을 각각 최소값, 최대값으로 초기화하고, 최소값보다 더 작은 값이 나타날 때마다 최소값을 갱신하고, 최대값보다 더 큰 값이 나타날 때마다 최대값을 갱신합니다. 소스코드 import java.util.Scanner; public class Ma..

https://www.acmicpc.net/problem/1212 1212번: 8진수 2진수 첫째 줄에 8진수가 주어진다. 주어지는 수의 길이는 333,334을 넘지 않는다. www.acmicpc.net 난이도 : 브론즈 2 태그 : 수학, 구현, 문자열 설명 8진수를 2진수로 바꾸는 문제입니다. 저는 처음에는 Java의 Integer클래스가 기본으로 제공하는 parseInt, toOctalString() 등을 사용해 풀이하려 했는데, 런타임 에러를 받고, 왜 그런지 봤더니 수의 길이가 최대 333,334 자리네요. Long의 자료형에 담기에는 좀 깁니다. 조금 다르게 접근해야 할 것 같습니다. 8진수, 16진수는 사실 컴퓨터공학 계열에서 꽤나 많이 쓰입니다. 2진수와의 변환이 쉽기 때문이죠. 보통 2진..