2021.12.21 팀스터디 연습문제 풀이 정리
문제를 푸는 속도나 이런게 상대적으로 오래 걸릴까봐 스트레스를 받고있다. 점점 수업에 나오는 과제가 어려워질테고, 팀스터디 분 들이 다 풀었다는 말에 흔들리기도 하는데,
긍정적으로 바라보면 나는 "아직까지 재밌다는 것!"
문제가 안풀려도 구글링하는 동안이 재밌기 때문에 분명 결과물을 만들어 낼 수 있을 것이다!!
내가 이해하기 까지 시간이 좀 걸리더라도 흥미를 잃지 않고, 조금 집착하는 마음으로 문제를 풀어볼 것 !
그러니 오늘은 아직 배우지 않은 반복문 문제도 예습 겸 해결해 볼거고 꼭 여기 기록할 수 있음 좋겟다.
/*연산자 연습문제*/
/* 3-1. 첫번째 출력문 << 사용법 확인하기
* x가 2일 때 '1 + x << 33' 구하기
* 1 + x = 3 은 00000011 이고, 쉬프트 << 는 왼쪽으로 비트를 33번 이동시킨다.
* 1byte는 8bit이므로, 32번 이동해 제자리로 온 뒤 1번 더 이동하여 00000110이 된다.
* 답은 6이 된다*/
int num1 =2;
System.out.println(1 + num1 <<33); // 6이 출력된다.
/* 3-2. 사과를 담는데 필요한 바구니 계산하기
* 사과의 수가 123일 때 바구니에 10개의 사과를 담을 수 있다고 할 때의 바구니를 구하는 코드를 구하사오.*/
int apple = 123;
int bucket = 10;
System.out.println("바구니는 "+ (int)(apple/bucket) + "개가 필요하다.");
/*3-3. 삼항연산자를 이용하여 변수의 값에 따라 '양수''음수''0'를 출력하는 코드를 구하시오.*/
int num=-10;
System.out.println(num>0? "양수이다." : (num==0? "0이다." : "음수이다."));
/*3-4. 백의 자리 이하를 버리는 코드 */
int num2 = 400;
System.out.println(((int)(num2/100)*100));
/*3-5. 변수 num의 값 중 1의 자리를 1로 바꾸는 코드
* int형은 나눗셈을 할 때 실수가 되면 소숫셈 자리 부분을 버린다. 이를 이용해서
* (123 * 10) = 12.3을 12 로 만들고, 이어서 (12 * 10)+1 = 121을 만든다!! 이거 완전 재밌다.*/
int num5= 123;
System.out.println((num5/10)*10 + 1);
/*3-6. 변수 num3보다 크면서 가장 가까운 10의 배수에서 변수 num3을 뺀 나머지를 구하는 코드. */
int num3 =27;
System.out.println(10-(num3 % 10));
// System.out.println(num3%10);
// System.out.println(((10-(num3%10))+num3)-num3); // 이렇게 풀려고 했던....
/*3-7. 화씨 썹씨 문제
*못풀었습니다. (해설참조)*/
int f = 100;
float c = (int)((5/9f *(f -32))*100 + 0.5) /100f ;
System.out.println(c);
/*3-8. ch값을 유니코드 C로 출력하기*/
char ch2 = 'A';
ch2= (char) (ch2 + 2); // 문자의 연산 후 int형이 아닌 문자로 출력하려면 (char)을 붙인다.
System.out.println("ch2= " + ch2);
/*3-9. 변수 ch 값이 영문자(소문자 혹은 대문자)이거나 숫자일 때만 true 값 출력하기.*/
boolean b = (ch>='a'||ch<='z')||(ch>='A'||ch<='Z')||(ch>=0||ch<=9);
System.out.println(b);
/*3-10. 대문자를 소문자로 변경하는 코드를 구하시오.
* 유니코드에서 소문자는 대문자보다 32만큼 더 크다.
* 예를들어, 대문자 'A'는 65이고, 소문자 'a'는 97이다. */
char ch3 = 'A';
char lowerCase =(char)(ch3>='A' && ch3<='Z'? ch3+32 : ch);
System.out.println("대문자 : " + ch3);
System.out.println("소문자 변환 : " + lowerCase);
'백엔드 과정 > 자바 예습' 카테고리의 다른 글
[자바의 정석] 연습문제. 거스름돈 원화 단위별 출력하기 (배열) (0) | 2021.12.29 |
---|---|
[자바의정석] 연습 문제 1-1 / 조건식 (0) | 2021.12.22 |
[혼공자]Chap 02-4 변수와 시스템 출력 (0) | 2021.12.14 |
[혼공자]Chap 02-3 타입 변환 (0) | 2021.12.14 |
[혼공자]Chap 02-2 기본 타입 (0) | 2021.12.14 |