더 많이 실패하기

코딩공부 29일차: 백준 단계별로 풀어보기 1단계 정답 몰아보기 / 1. 입출력과 사칙연산 / 자바 java 본문

알고리즘/백준

코딩공부 29일차: 백준 단계별로 풀어보기 1단계 정답 몰아보기 / 1. 입출력과 사칙연산 / 자바 java

김발자~ 2022. 8. 29. 17:27
반응형

#비전공자개발 공부 29일차

백준에서 알고리즘 공부를 시작했다

https://www.acmicpc.net/step

 

단계별로 풀어보기

단계별은 @jh05013님이 관리하고 계십니다. 단계제목설명정보총 문제내가 맞은 문제1입출력과 사칙연산입력, 출력과 사칙연산을 연습해 봅시다. Hello World!152조건문if 등의 조건문을 사용해 봅시다

www.acmicpc.net

 

 

 


1. 입출력과 사칙연산

(1) 백준 2257번 문제 Hello World!

백준은 클래스명을 Main으로 해야 한다고 한다

처음에 클래스 이름이랑 메인메소드까지 내가 직접 쳐야하는지 몰라서 좀 애를 먹었다

두 번째엔 느낌표를 안 넣어서 틀림

뭔가 알고리즘 공부라고 하니까 이렇게 간단한 것도 괜히 긴장..

 

코딩이 엄청 긴데 숏코딩 밑에 알고리즘 공부할 때는 내가 알아보는 게 중요하다고 해서

일단 밀고나가기로 했다

 

 

 


1. 입출력과 사칙연산

(2) 백준 10718번 문제 We love krill

두 줄 출력해야 해서 sysout 두 번 복붙

 

 

 


1. 입출력과 사칙연산

(3, 4, 5) 백준 1000번 1001번 10998번  문제 A+B A-B A*B

Scanner는 자바에서 기본적으로 제공하는 클래스로 System.in가 더불어 사용해 키보드가 입력한 값을 받는다

nextInt();는 Scanner 클래스를 사용할 때 정수를 입력받는 메소드

 

자바는 대소문자를 구분하기 때문에.. system.in이라고 썼다가 컴파일 오류 떴다

 

사칙연산은 빨간색으로 표시한 부분을 + - *로 바꿔주면 된다

 

 


1. 입출력과 사칙연산

(6) 백준 1008번 문제 A/B

위의 사칙연산들과 비슷하지만 데이터 타입을 실수형으로 선언해줘야 한다는 점에서 다르다

.nextDouble();은 Scanner 클래스를 사용할 때 실수를 입력받는 메소드

 

 

 


1. 입출력과 사칙연산

(7) 백준 10869번 문제 사칙연산

 

문제는 이렇다

 

조건에 자연수가 있기 때문에 데이터타입은 int 정수로 준다

 

 

 


1. 입출력과 사칙연산

(8) 백준 10926번 문제 ??!

 

문제는 다음과 같다

 

앞의 코드들처럼 간단하다

id는 문자열을 입력받으므로 데이터타입만 string으로 바꿔주면 된다

.next();는 Scanner 클래스를 사용할 때 문자열을 입력받는 메소드

(지레짐작으로 .nextString();을 해봤지만 실패했다)

 

 

 


1. 입출력과 사칙연산

(9) 백준 18108번 문제 1998년생인 내가 태국에서는 2541년생?!

 

문제는 다음과 같다

 

불기 연도는 우리가 사용하는 서기 연도와 543 차이나므로 (문제 제목에서 유추)

입력받은 불기 연도에서 543을 빼주면 현 서기 연도를 구할 수 있다

 

 

 


1. 입출력과 사칙연산

(10) 백준 3003번 문제 킹, 퀸, 룩, 비숍, 나이트, 폰

 

문제는 다음과 같다

(애먹었다)

기준값인 각 1, 1, 2, 2, 2, 8개의 배열을 만들어놓고

결과값이 scan.nextInt()로 받는 입력값과 더했을 때 기준값이 되도록 뺄셈을 이용했다

뒤에 붙인 "'는 문제에서 출력값이 나란히 되도록 요구했기 때문에 붙였다

 

 

 


1. 입출력과 사칙연산

(11) 백준 10430번 문제 나머지

 

문제는 다음과 같다

길이가 길어서 그렇지 작성 방법 자체는 간단하다

 

 

 


1. 입출력과 사칙연산

(12) 백준 10430번 문제 곱셈

 

문제는 다음과 같다

 

 

각 자리수를 구분하기 위해 두 번째는 문자열 string으로 선언한 게 핵심

인덱스값처럼 첫 번째 자리가 0부터 시작한다

 

.charAt()는 불러온 자리수에 해당하는 값을 불러온다

Integer.parseInt()는 문자열을 정수로 변환시켜준다

 

※엑셀에서 "123"처럼 선언한 함수는 문자열로 취급되듯이

문자열로 취급되는 자리수에 해당하는 수를 숫자 타입으로 바꾸기 위해 - '0'을 붙인다

(엑셀에서 *1하는 것과 같은 원리)

 

 

 


1. 입출력과 사칙연산

(13) 백준 10171번 문제 고양이

 

문제는 다음과 같다

귀엽다..

 

코드도 귀엽다

자바에서 \와 "는 단독으로 사용하지 못하므로 앞에 \를 붙여야 출력된다

 

백준에서도 시작 전 이렇게 단서를 주고 있다

 

 

 


1. 입출력과 사칙연산

(14) 백준 10172번 문제 개

 

문제는 다음과 같다

 

고양이와 마찬가지로 \와 " 앞에 \를 붙여주어 컴파일 에러를 막는다

 

 

 


1. 입출력과 사칙연산

(15) 백준 25083번 문제 새싹

 

문제는 다음과 같다

 

똑같이 "와 \에 주의해준다

 

 

 

 


확실히 직접 쳐보니까 자바를 이해하고 암기하는 데 수월해진 느낌

 

알고리즘 공부라서 최대한 답을 생각해내야겠다는 쪽으로 봤다

궁금하면 구글링했고, 백준이 유명한 사이트라 그런지 자료가 엄청 많았다

 

자바 입문 강의만 현 상태에서 한 알고리즘 풀이와

자바의 정석으로 다 보았을 때 한 알고리즘 풀이가 달라질지 궁금해진다

 

 

 

 

22.09.16 백지복습 완료

 

반응형
Comments