[코테 연습] 개행문자, 나머지연산
문제 1 : 문자 출력
코딩테스트 연습 - [PCCE 기출문제] 1번 / 문자 출력
주어진 코드는 변수에 데이터를 저장하고 출력하는 코드입니다. 아래와 같이 출력되도록 빈칸을 채워 코드를 완성해 주세요. 출력 예시
school.programmers.co.kr
개행문자와 관련된 문제였던 것 같다.
운영체제 | 개행문자 | 약어 |
Windows | \r\n | CRLF(Carriage Return + Line Feed) |
Linux, macOS (유닉스 계열) | \n | LF(Line Feed) |
참고로 자바에서 운영체제에 맞는 개행 문자를 사용려면 System.lineSeperator() 를 이용하면 된다.
해당 메서드는 실행 중인 운영체제에 맞는 개행 문자를 자동으로 가져온다.
문제 2 : 각도 합치기
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
내가 제출한 정답
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int angle1 = sc.nextInt();
int angle2 = sc.nextInt();
int sum_angle = (angle1 + angle2)%360;
System.out.println(sum_angle);
}
}
문제 3 : 수 나누기
https://school.programmers.co.kr/learn/courses/30/lessons/340205
코딩테스트 연습 - [PCCE 기출문제] 3번 / 수 나누기
2자리 이상의 정수 number가 주어집니다. 주어진 코드는 이 수를 2자리씩 자른 뒤, 자른 수를 모두 더해서 그 합을 출력하는 코드입니다. 코드가 올바르게 작동하도록 한 줄을 수정해 주세요. 제한
school.programmers.co.kr
for -> while 로 변환하는 문제였던 것 같다.
나는 반복문 조건식으로 number !=0 을 사용했는데, 다른 답변 중 number > 0 을 사용한 것을 보고 반성하게 되었다.
만약 number 가 int 가 아닌 double 타입이었다면 나의 조건식은 무한 루프에 빠졌을 것이다.
문제를 풀면서 변수의 데이터타입까지 크게 신경쓰지 않았었는데... 다음번엔 더 꼼꼼히 읽어보는 연습을 함께 하면 좋을 것 같다.
내가 제출한 답
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int number = sc.nextInt();
int answer = 0;
while(number != 0){
answer += number % 100;
number /= 100;
}
System.out.println(answer);
}
}