자바 31

[JAVA] Scanner

오늘은 자바에서 사용자에게 값을 입력받을 때 사용하는 Scanner에 대해 공부해보도록 하겠습니다. Scanner는 자바의 '클래스' 중 하나로 Scanner 변수명 = new Scanner(System.in); 과 같은 형태로 사용을 합니다. 클래스이기 때문에 Scanner를 사용하려면 import java.util.Scanner; 를 임포트 해줘야만 사용이 가능합니다. 그다음으로는 간단한 코드를 하나 작성해서 살펴보겠습니다. import java.util.Scanner; public class Test { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("숫자를 입력해주세요 : "..

Java/JAVA 2021.09.15

[JAVA] 자바의 반복문

지난 포스팅에서 자바의 제어문중에 조건문에 대해서 공부했었는데요 오늘은 나머지 하나인 반복문에 대해서 공부해보도록 하겠습니다. 반복문은 코드를 작성할때 같은 명령을 반복하고 싶을 때 사용합니다. 물론 같은 코드를 여러 번 적을 수 있지만 비효율적이기도 하고 작업량도 많아질 것입니다. 자바의 반복문은 while문과 for문이 있습니다. 먼저 while문에 대해서 알아보겠습니다. WHILE문 while문의 기본적인 형태 먼저 설명하자면 아래와 같습니다. 초기값; while( 조건식 ){ 명령문; //증감식; (써줘도 되고 안써줘도 됩니다.) } 괄호 안의 조건이 참일 경우 명령문이 반복해서 실행됩니다. 증감식의 경우 안 써줘도 상관은 없지만 조건식이 거짓일 경우 즉, 개발자가 원하는 만큼의 루프를 돌리기 위..

Java/JAVA 2021.09.13

[JAVA] 자바의 조건문

자바의 제어문에는 조건문과 반복문이 존재합니다. 오늘은 제어문 중에 조건문에 대해서 공부해보도록 하겠습니다. 자바의 조건문은 if, switch문이 있습니다. 먼저 if문에 대해서 알아보겠습니다. IF문 단어로써의 if의 뜻은 만약 ~라면 이죠? 자바에서는 만약 ~조건이 참이라면 이라고 해석하시면 될 것 같습니다. if문의 기본적인 형태는 아래와 같습니다. if( 조건식 ){ 명령; } 따라서 조건식이 참(true)일 경우 중괄호({ }) 안에 있는 명령을 수행하게 됩니다. 거짓일 경우는 명령을 수행하지 않고 if 문 밖으로 나오게 됩니다. 또한 if문은 조건을 여러 개 둘 수 있는데 이럴 때는 또 if문을 사용해도 되지만 else if혹은 else문을 써줍니다. 두 개의 차이는 else문을 사용하면 거..

Java/JAVA 2021.09.12

[JAVA] 자바 기본

오늘부터 JAVA라는 언어에 대해서 공부해보도록 하겠습니다. JAVA란 무엇일까? Java는 Oracle사에서 만든 프로그래밍 언어로 처음 개발 당시에는 가전제품 내의 프로그램의 동작을 위해 개발되었지만 현재 웹 애플리케이션 개발에 가장 많이 사용되는 언어입니다. Java는 사람이 컴퓨터에게 명령하는 언어로 객체지향언어라고 불리기도 합니다. 컴퓨터는 사람이 사용하는 언어를 모르기때문에 프로그래밍 언어를 사용해 컴퓨터가 이해할 수 있게 바꿔줘야 합니다. 컴퓨터가 이해하는 언어인 기계어로 바꿔주는 2가지 방법이 있는데 1. 인터프리터(Interpreter) 2. 컴파일러(Compiler) 입니다. 인터프리터의 경우 파일을 한줄씩 읽고 기계어로 바꿔주지만 컴파일러는 파일 전체를 읽고 기계어로 바꿔줍니다. Ja..

Java/JAVA 2021.09.09

[Baekjoon] 백준 2908 상수 - java

오늘은 저번과 마찬가지로 문자열 문제인 상수를 풀어보려 합니다. 브론즈 2문제지만 설명을 보고 생각나는 게 로직이 있었는데 좀 더 쉽게 풀 수 있을 거 같아서요 ㅎㅎ 저번에서 설명했듯 이번부터는 최대한 Scanner를 사용하지 않고 풀어보려고 합니다. 그럼 문제풀러 가볼까요? 문제는 https://www.acmicpc.net/problem/2908 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net 여기서 확인하시면 됩니다. 문제풀이 package Baek; import java.io.BufferedReader; import..

Algorithm/Baekjoon 2021.07.23

[Baekjoon] 백준 1152 단어의 개수 - java

오늘은 문자열에서 브론즈 2 문제인 단어의 개수 문제를 풀어보려 합니다. 이번 문제는 처음에 생각 없이 풀어봤는데 실패라고 뜨길래 뭘 실수했지 곰곰이 생각해보게 되는 문제였던 거 같아요 어떤 문제인지 문제 풀러 가보겠습니다. 문제는 https://www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 www.acmicpc.net 여기서 확인하시면 됩니다. 문제풀이 package Baek; import java.util.Scanner; public class Main { public stat..

Algorithm/Baekjoon 2021.07.21

[Baekjoon] 백준 4344 평균은 넘겠지 - java

오늘은 1차원 배열의 마지막 문제인 평균은 넘겠지 문제를 가져와봤습니다. 이번 문제도 역시 수학으로 먼저 풀려고 하니까 딱 나눠지면서 이해하기 쉽더라고요... ㅎㅎ 뭔가 배열 문제만 보면 숨 턱턱 막히고 어떻게 풀어야 하나 항상 긴장 + 걱정부터 했었는데 매일 1문제라도 문제를 풀다 보니까 조금 (아주 조금..) 괜찮아진 것 같은 느낌입니다!! ㅎㅎ 바로 문제풀러 가보겠습니다. 문제는 https://www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net 여기서 확인하시면 됩니다. 문제풀이 import java.util.Scanner; publ..

Algorithm/Baekjoon 2021.07.20

[Baekjoon] 백준 8958 OX퀴즈 - java

이번에도 1차원 배열 문제 중 하나를 가져왔는데 이번 문제는 처음 딱 봤을 때 뭔가 로직이 바로 떠오르지 않고 O의 개수를 세는 게 아니라 연속한 걸 더해야 하는 건 어떻게 구현해야하나.... 라는 마음으로 시작하게 됐습니다. ㅎㅎ 문제는 https://www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net 여기서 확인하시면 됩니다. 문제풀이 import java.util.Scanner; public class Main { public stati..

Algorithm/Baekjoon 2021.07.19

[Baekjoon] 백준 1546 평균 - java

이번엔 1차원 배열 문제를 정리해보려고 합니다. 사실 제가 자바에서 무엇보다 어려워하는 게 배열 문제라 앞으로는 좀 많이 풀어보고 감을 좀 익혀보려고 합니다. 그래도 뭔가 이해가 잘 되는 느낌은 아니지만요... ㅎㅎ 문제는 https://www.acmicpc.net/problem/1546 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net 여기서 확인하시면 됩니다. 문제풀이 import java.util.Scanner; public class Main { public static void main(Strin..

Algorithm/Baekjoon 2021.07.18

[Programmers] 프로그래머스 12926 시저암호 - java

이번 문제는 프로그래머스에서 연습문제로 있는 시저암호를 풀어봤습니다. 사실 어릴때부터 괜히 친구들과 암호편지 주고받고 수수깨끼로 된 암호풀고 이런걸 좋아해서 선택한 문제입니다 ㅎㅎ 문제를 보면 https://programmers.co.kr/learn/courses/30/lessons/12926 코딩테스트 연습 - 시저 암호 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀 programmers.co.kr 이렇게 나와있습니다. 문제풀이 class Solution { public String solution(String s, int n) { Str..