본문 바로가기

코드업(CodeUp)/기초 100제

(38)
[코드업/자바] 기초 100제 - 16진 정수 1개 입력받아 8진수로 출력하기 1035 : [기초-출력변환] 16진 정수 1개 입력받아 8진수로 출력하기(설명) 1. 16진수로 입력된 정수 1개를 8진수로 바꾸어 출력해보자. 참고 %x(영문자 소문자) 나 %X(영문자 대문자)로 입력 받으면 16진수로 인식시켜 저장시킬 수 있다. %o로 출력하면 8진수로 출력된다. C언어에서 소스 코드 작성시 0으로 시작하는 수는 8진수로 인식된다. 또한 소스코드 내에서 //로 시작하면 1줄 설명을 넣을 수 있다. 여러 줄을 설명(주석) 을 넣을 경우 /* 와 */ 사이에 작성하면 된다. 예시 int n; scanf("%x", &n); //소문자로 16진수 입력 printf("%o", n); 2. 16진 정수 1개가 입력된다. (단, 16진수는 영문 소문자로 입력된다.) 3. 8진수로 바꾸어 출력한..
[코드업/자바] 기초 100제 - 8진 정수 1개 입력받아 10진수로 출력하기 1034 : [기초-출력변환] 8진 정수 1개 입력받아 10진수로 출력하기 1. 8진수로 입력된 정수 1개를 10진수로 바꾸어 출력해보자. 참고 %o로 입력받으면 8진수로 인식시켜 저장시킬 수 있다. %d로 출력하면 10진수로 출력된다. 예시 int n; scanf("%o", &n); printf("%d", n); (C언어에서 소스 코드 작성 시 0으로 시작하는 수는 8진수로 인식된다. int a = 013; // 10진수 11과 같은 값) 2. 8진 정수 1개가 입력된다. 3. 10진수로 바꾸어 출력한다. ex) 입력 : 13 출력 : 11 자바에는 8진수를 받는 방법이 없어서 일단 String으로 받아준다. 그리고 그것을 Integer 클래스를 이용하여 8진수를 10진수로 바꿔준다. import ja..
[코드업/자바] 기초 100제 - 10진 정수 입력받아 16진수로 출력하기1 1032 : [기초-출력변환] 10진 정수 입력받아 16진수로 출력하기1(설명) 1. 10진수를 입력받아 16진수(hexadecimal)로 출력해보자. 참고 %d(10진수 형태)로 입력받고 %x로 출력하면 16진수(hexadecimal) 소문자로 출력된다. 10진법은 한 자리에 10개(0 1 2 3 4 5 6 7 8 9)의 문자를 사용하고, 16진법은 한 자리에 16개(0 1 2 3 4 5 6 7 8 9 a b c d e f)의 문자를 사용한다. 16진수의 a는 10진수의 10, b는 11, c는 12 ... 와 같다. 2. 10진수 1개가 입력된다. 3. 16진수(소문자)로 출력한다. ex) 입력 : 255 출력 : ff 시사상식사전 16진수 0에서 9까지 10개의 숫자에 A에서 F까지 6개의 문자를 ..
[코드업/자바] 기초 100제 - 10진 정수 1개 입력받아 8진수로 출력하기 1031 : [기초-출력변환] 10진 정수 1개 입력받아 8진수로 출력하기(설명) 1. 10진수를 입력받아 8진수(octal)로 출력해보자. 참고 %d(10진수 형태)로 입력받고, %o를 사용해 출력하면 8진수(octal)로 출력된다. 2. 10진수 1개가 입력된다. 단, 입력되는 정수는 int 범위이다. 3. 8진수로 출력한다. ex) 입력 : 10 출력 : 12 8진수 [ octal digit , octal number ] 8진수 정보통신용어사전수를 나타내는데 0에서 7까지 8개의 숫자를 사용한다. 1자를 6비트로 표현하고 있는 캐릭터 머신의 비트상태를 나타내는 데에 편리하다. 예를 들면, 110101을 2진수로 취급하는 것은 불편하므로 3비트씩 나누어 110과 101, 즉 8진수(Octal)의 65..
[코드업/자바] 기초 100제 - 실수 1개 입력받아 그대로 출력하기2 1029 : [기초-데이터형] 실수 1개 입력받아 그대로 출력하기2 1. 실수 1개를 입력받아 그대로 출력해보자. (단, 입력되는 실수의 범위는 +- 1.7*10-308 ~ +- 1.7*10308 이다.) 참고 float 데이터형을 사용하면 +- 3.4*10-38 ~ +- 3.4*1038 범위의 실수를 저장할 수 있다. (float 로 선언하고 %f로 입력 받아 출력하면 된다.) 이 범위를 넘어가는(더 작거나 더 큰) 실수를 저장하기 위해서는 보다 큰 범위를 저장할 수 있는 다른 데이터형을 사용해야 정상적으로 저장시킬 수 있다. double은 더 정확하게 저장할 수 있지만, float보다 2배의 저장 공간이 필요하다. double 데이터형을 사용하면 +- 1.7*10-308 ~ +- 1.7*10308 범..
[코드업/자바] 기초 100제 - 정수 1개 입력받아 그대로 출력하기2 1028 : [기초-데이터형] 정수 1개 입력받아 그대로 출력하기2 1. 정수 1개를 입력받아 그대로 출력해보자. (단, 입력되는 정수의 범위는 0 ~ 4,294,967,295 이다.) 참고 -2147483648 ~ +2147483647 범위의 정수를 저장하고 처리하기 위해서는 int 형으로 변수를 선언하면 된다.(int 로 선언하고 %d로 받고 출력) 하지만 이 범위를 넘어가는 정수를 저장하기 위해서는 보다 큰 범위를 저장할 수 있는 다른 데이터형을 사용해야 정상적으로 저장시킬 수 있다. unsigned int 데이터형을 사용하면 0 ~ 4294967295 범위의 정수를 저장할 수 있다. 예시 unsigned int n; scanf("%u", &n); printf("%u", n); 2. 정수 1개가 입..
[코드업/자바] 기초 100제 - 년월일 입력 받아 형식 바꿔 출력하기 1027 : [기초-입출력] 년월일 입력 받아 형식 바꿔 출력하기 1. 년월일을 출력하는 방법은 나라마다, 형식마다 조금씩 다르다. 년월일(yyyy.mm.dd)를 입력받아, 일월년(dd-mm-yyyy)로 출력해보자. (단, 한 자리 일/월은 0을 붙여 두자리로, 년도도 0을 붙여 네자리로 출력한다.) 참고 출력하는 자리수를 지정하기 위해 %4d와 같은 형식을 사용할 수 있는데, 빈칸을 0으로 출력하기 위해서는 %04d와 같은 형식을 사용하면 된다. 예시 printf("%02d-%02d-%04d", d, m, y); 2. 년월일이 '.'(닷)으로 구분되어 입력된다. 3. 년월일을 일월년으로 바꾸어 '-'(대쉬, 마이너스)로 구분해 출력한다. ex) 입력 : 2014.07.15 출력 : 15-07-2014 ..
[코드업/자바] 기초 100제 - 시분초 입력받아 분만 출력하기 1026 : [기초-입출력] 시분초 입력받아 분만 출력하기 1. 입력되는 시:분:초 에서 분만 출력해보자. 참고 int h, m, s; scanf("%d:%d:%d", &h, &m, &s); 를 실행하면 콜론을 사이에 둔 형식으로 입력되어, h, m, s에 각각 정수값만 저장된다. 2. 시 분 초가 시:분:초 형식으로 입력된다. 3. 분만 출력한다. ex) 입력 : 17:23:57 출력 : 23 문제 내용은 C언어를 활용하는 것이지만 자바를 사용하는 사람에게는 해당사항이 되지 않는다. 그러면 어떻게 해야할까? 생각한 방법은 문자열 형태로 받아와서 ":(콜론)" 부분으로 나눠서 구분하면 되기때문에 split() 메소드를 사용하여 배열형태로 저장한다. 그리고 분단위 숫자 위치는 바뀌지않기 때문에 출력할 때 ..