10926번: ??!

준하는 사이트에 회원가입을 하다가 joonas라는 아이디가 이미 존재하는 것을 보고 놀랐다. 준하는 놀람을 ??!로 표현한다. 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어졌을 때

www.acmicpc.net


문제이해한다고 처음에 조금 헤맸다.

단순히 가면되는데 존재할 필요도 없는 데이터베이스의 정보를 가져와야하고 이런저런...

아무튼 이해하고 나니 나름 단순했던 문제

 

이런 문제.

 

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class Main_10926 {

	public static void main(String[] args) throws Exception{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

		String name = br.readLine();
		System.out.println(name + "??!");
	}

}

 

쿼리에 문제구분한다고 번호붙여놨는데 그것땜에 컴파일에러가 떳다. 에잇

'언어공부 > [BAEKJOON] java' 카테고리의 다른 글

[BAEKJOON] while문  (0) 2022.01.10
[BAEKJOON] FOR문  (0) 2022.01.07
[BAEKJOON] 1330, 9498 , 2751, 14681, 2884 : if 문  (0) 2021.12.18
[BAEJOON] 2588 : 곱셈  (0) 2021.12.12
[BAEKJOON] : (사칙)연산  (0) 2021.12.11

문제번호 : 10952 : A+B-5
문제번호 : 10951 : A+B-4

참고 : 여기서 while의 조건 중 true를 넣었지만 진행되지 않았다.
이유를 몰라서 검색한 결과 true가 아닌 hasNextInt()을 사용해야한다고 한다.

이것은 Scanner의 메소드 중 하나입력된 값이 숫자인지를 판별한다고 한다.
입력된 값이 숫자인 경우에 while문을 벗어나고, 입력된 숫자를 nextInt()으로 넘어간다

https://st-lab.tistory.com/40 -> 참고
https://cyj42.tistory.com/entry/hasNextInt-nextInt -> hasNextInt()설명

문제번호 : 1110 : 더하기 사이클

while문은  조건이  true일때 반복적인 작업을 반복적으로 실행한다. 조건을 true로 입력해 출력한다면 "무한루프"를 출력하며, 코드가 복잡해지면 가독성이 떨어진다.

 

for문은 while문의 단점 개선을 위해 만들어졌으며, 가독성, 유지보수에 유리하다. 또한 for문에 "초기값, 조건, 초기값 변경 구조"를 가지고 있다면 while문 보다 for문이 유리하다.

 

-->> 위의 두 개는 생활코딩에서 배운것!


 

 

10952번: A+B - 5

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

 

10951번: A+B - 4

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

1110번: 더하기 사이클

0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음,

www.acmicpc.net

 

'언어공부 > [BAEKJOON] java' 카테고리의 다른 글

[BAEKJOON] 10926 : ??!  (0) 2022.02.25
[BAEKJOON] FOR문  (0) 2022.01.07
[BAEKJOON] 1330, 9498 , 2751, 14681, 2884 : if 문  (0) 2021.12.18
[BAEJOON] 2588 : 곱셈  (0) 2021.12.12
[BAEKJOON] : (사칙)연산  (0) 2021.12.11

다 해놓고 미룬탓에 오랜만에 게시하는 백준!
두달 전까지만 해도 소-올-찌-키 자바는 따라서 쳐보기만 했지, 이해따위는 없었던 시절...
아직 갈길이 한참 멀었지만 그래도 많이 성장했다!


 

그동안의 결과라고 하면 이정도???
for문을 공부하면서 단일문은 그럭저럭 이해가 가능했지만 이중for문이라던가 조건문과 같이 사용되는 경우에는 이해가 되지 않고 있었다. 이제는 어색하더라도 가능하다고~?

문제번호 : 2739 - 구구단
문제번호 : 10950 - A+B-3
문제번호 : 8393 - 합
문제번호 : 15552 : 빠른A+B
문제번호 : 2741 - N 찍기
문제번호 : 2742 - 찍기 N
문제번호 : 11021 - A+B-7

 

문제번호 : 11022 - A+B-8 (컴파일오류)

이 문제 같은경우는 다른 블로그를 찾아봐도 나랑 비슷한 경우가 많았는데 도대체 어느곳에서 에러가 뜨는지 알 수 없는 노릇이다. 이클립스에서는 정상작동한단 말이야..

문제번호 : 2438 - 별 찍기(1)
문제번호 : 2439 - 별 찍기(2)
문제번호 : 10871 - X보다 작은수 (틀림)

for문 구동

 

일반 for문은 안에서 계속 반복되는 구조라면

중첩 for문은 구구단을 만들면서 대략이라도 이해를 했는데 만약에 제일 밖에있는 for문이 for( i =1; i<10; i++)라고 하고 안의 for문이 for( j<1; j<10; j++)라고 할때,

첫번째 for문이 1로 시작을 할때, 안의 for문이 자신의 조건만큼 계속 반복한다. 안의 for문이 조건을 모두 완수했을때 밖의 for문이 그다음 조건을 실행한다.

암튼 그렇다고.

 

 

 

 

 

 

오류지적은 항상 감사합니다

'언어공부 > [BAEKJOON] java' 카테고리의 다른 글

[BAEKJOON] 10926 : ??!  (0) 2022.02.25
[BAEKJOON] while문  (0) 2022.01.10
[BAEKJOON] 1330, 9498 , 2751, 14681, 2884 : if 문  (0) 2021.12.18
[BAEJOON] 2588 : 곱셈  (0) 2021.12.12
[BAEKJOON] : (사칙)연산  (0) 2021.12.11

문제는 본문 참고하기


왼) 1330번 : 두수 비교하기&nbsp; &nbsp; &nbsp; /&nbsp; &nbsp; &nbsp;오) 9498번 : 시험성적
2753번 윤년
14681번 : 사분면고르기



2884번 : 알람시계 -&amp;gt; 정상작동 하지만 컴파일에러남

if문 (else if문)

틀린게 있게 있다면 이야기해주세요.

내가 이해한 if문들의 구성요소. 아직 2중 if문이나 다른 조건문들과 같이 이용하는 건 많이 힘들다.

 


 

9498번: 시험 성적

시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

 

2753번: 윤년

연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서

www.acmicpc.net

 

 

14681번: 사분면 고르기

점 (x, y)의 사분면 번호(1, 2, 3, 4 중 하나)를 출력한다.

www.acmicpc.net

 

2884번: 알람 시계

상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만,

www.acmicpc.net

 

'언어공부 > [BAEKJOON] java' 카테고리의 다른 글

[BAEKJOON] while문  (0) 2022.01.10
[BAEKJOON] FOR문  (0) 2022.01.07
[BAEJOON] 2588 : 곱셈  (0) 2021.12.12
[BAEKJOON] : (사칙)연산  (0) 2021.12.11
[BEAKJOON] 10171번 : 고양이 그리기 + '이스케이프'이용하기  (0) 2021.12.10

문제는 알아서 확인하기


사실 이 문제 어제하려고 했지만 뭔가 어려워보여서 다음날로 미루었다. 

 

이 문제를 풀면서 2번을 틀려서 왜지싶어서 sc.close();를 안넣어서 그런가 싶었지만

알고보니 15번줄의 괄호를 잘못적어서 그렇다는..tmi

 

아무튼 이 문제는 조금 힘들었다. 벌써부터. 3자리수와 1자리수를 곱하는건 쉽다. 하지만 3자리수*3자리라니..

그치만 막상 해결하고 나니 괜찮더라고?

14줄 : b의 10으로 나누고 남은 나머지와 a의 값의 곱(a값과 b의 1자리 수의 곱)

15줄 : b의 100으로 나누고 남은 나머지에 10을 나눈 몫과 a의 값의 곱(a의 값과 b의 10자리 수의 곱)

16줄 : a의 값과 b의 100자리 수의 곱

17줄 : 결과값

 

%와 /

나눗셈에서 사용되는 표현으로 

%는 나머지를

/를 몫을 나타낸다. 


 

 

2588번: 곱셈

첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.

www.acmicpc.net

 

자세한 문제는 사이트에서 보기

1000, 1001, 10998, 1008, 10869, 10430


어김없이 틀려요.

(왼)틀린 코드   (오)정답코드 

솔직히 왼쪽의 것도 답은 나오지만 문제에서 원하는 해답은 이게 아니였다는거 겠지?

단순값을 입력해서 결과값을 얻는 것이 아니라. 원하는 값을 입력 받아서 결과를 도출하는 것이라는 것.

그래서 Scanner을 이용해서 원하는 값을 입력받을 수 있게 해야한다는 것이다.

무난하게 오른쪽의 코딩을 이용해 연산자만 바꾸면 더하기, 뺴기, 곱하기도 가능하다. 

 

그런데 sc.close랑 nextInt 이 두가지를 이용했지만 정확한 개념을 잘 모르고 사용했다.

1008번 문제

다른건 성공했다.

여기서 주의해야할 건 나눗셈인데. 문제에서는 소숫점을 표현하는 것을 원했다.

 

이걸로 "변수타입"이 중요한데

정수형 데이터 실수형 데이터
byte (1byte)
-128 ~ 127 
float (4byte)
±(1.40129846432481707e-45 ~ 3.40282346638528860e+38)
short (2byte)
-37,768 ~ 32,767
double (8byte)
±(4.94065645841246544e-324d ~ 1.79769313486231570e+308d)
int (4byte)
-2,147,483,648~2,147,483,647
문자 데이터 타임
long (8byte)
-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
char (2byte)
모든 유니코드 문자

( 8bit = 1byte, 1024byte  = 1kbyte ) ->1024byte가 1kbyte인 이유는 인간의 언어가 아닌 컴퓨터인 언어 임으로

 

이 표를 봐서도 보통 자주 사용하는 int를 사용하려고 하니 이것은 정수형 데이터 타입의 하나로써, 정수(..., -1, 0, 1 ..)를 표현하고 소수점을 취급하지 않는다. 그럼으로 실수형 데이터 타입을 이용한다.

 

 

 

10869사칙연산 / 10430 나머지

 

아까 애매하게 알고 사용하고 있었던 것들을 정리해보자

1. close 매소드

이것을 보았을때 굳이 왜??라는 생각이 들었다. 

솔직하게 없어도 된다(다른경우는 모르겠지만). 이제껏 사용하던 연산 코딩들에게서 없어도 잘 돌아갔다고 한다.

하지만

이 메소드를 이용함으로써 우리 그 위에서 int a,b에서 지정해주는 외부 정보들을 "모두" 사용했으니 그만 이용하겠다는 의미로 해석하면 될 것 같다. 

2. next / nextLine

아직 이 차이를 정확히 이해하지 못했다고 한다. 그래도 나중을 위해 기록하자면..

이것들은

Scanner 클래스의 메소드이고, 문자열로 반환시켜준다고 한다. 

next는 한 단어씩 입력할 때, nextLine는 한 줄을 전부 입력받고 싶을때 이용한다고 한다.


 

 

1000번: A+B

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

 

1001번: A-B

두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

 

1008번: A/B

두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

 

10869번: 사칙연산

두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오. 

www.acmicpc.net

 

10430번: 나머지

첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000)

www.acmicpc.net

https://okky.kr/article/401102 

https://devlog-wjdrbs96.tistory.com/80 

정확한 문제는 사이트에서 보기


답은 맞는데 출력방식오류뜨는건 무슨 이유인지는 모르겠지만.. 

나와 같은 문제를 푼 사람들의 글을 찾아봐도 문제점을 찾지 못했다. 

언뜻 지나가듯 배운내용을 사용해보고 추가적인 개념도 찾아보기

화면에서와 역슬래쉬모양이 다르게 표현되는데 \이 의미는 우리나라의 돈 화폐의 의미도 있는데, 같은의미로 해석된다고 한다.

 

이스케이프 : 문자열 내에서 특수한 기능을 수행하는 문자
입력 출력
\\ \
\' '
\" "
( (
/ /

 

입력 출력
\n 줄바꿈(라인 피드)
\r 줄의 맨 처음으로(캐리지 리턴)
\t
\b 커서를 한 문자 앞으로(백스페이스)
\0 빈 칸(null)

 


 

 

10171번: 고양이

아래 예제와 같이 고양이를 출력하시오.

www.acmicpc.net

+) https://chloe-ki.tistory.com/entry/java-escape-sequence-chart : 추가 이스케이프 정보(어쩌다보니 정답도 있네-이건 오류안나오네..)

현재 자바 수업을 듣고 있다.
그런데 의욕과 다르게 응용이 너무 안되서 진도를 못따라가는 상황이 발생하고 말았다.
여름부터 자바수업을 들었지만 기존에 어느정도 알고있다는 가정하게 시작한 단기 수업이라 그냥 이런게 있구나 정도의 수업이 되버렸다.

이번엔 뒤쳐지긴 싫은데.. 분위기가 잘하는 사람들이 많아서 일까? 다 잘하는데 나 혼자 못하는거 같아서 괜히 우울했다.
그래서 조금 더 익숙해지면 시작해야지 했는데 미루는게 제일 위험해..

 

정확한 문제는 사이트에서 확인하기


암튼 시작부터 이렇게 틀렸다.

주제는 : hello world / We love kriii출력

이클립스에서 결과확인하고 넣은건데 틀렸다니 무슨 일인가 싶었더니, 여기에서는 클래스 이름이 Main으로 통일시켜야 한다나 뭐라나.. 그럼 알려줘야지..
아무튼 그래서 컴파일 에러가 떴다.

두번 틀렸다고 한다. System.out.println("Hello world");를 입력했지만 오류가 발생했다. 속상해!
알고보니 맞지만 println이 아니라 print를 사용했어야 했다..
정답에는 문제 없잖아요!!!

 

추가로 그다음 문제를 풀었는데 이건 pirntln을 의미하는 코딩이였다.

그래서 틀렸던거구나.?
그래! 이번 기회에 저 두개의 차이에 대해 기록해야지


그냥 눈으로도 확인이 간단했다.

1. print

문자열을 가로로 배열해주는 모습을 가진다.

2. println

문자열을 세로로 배열해주는 모습을 가진다.


 

Baekjoon Online Judge

Baekjoon Online Judge 프로그래밍 문제를 풀고 온라인으로 채점받을 수 있는 곳입니다.

www.acmicpc.net

그리고 오류 발생한게 속상해서

 

백준 문제 자바로 풀 때 유의사항

2352문제를 풀 때, 처음으로 자바로 답을 제출해보았다. 이때, 제출 형식에 유의할 점이 있는데 몰랐어서 ...

blog.naver.com

 

+ Recent posts