본문 바로가기

분류 전체보기221

[자바 스터디] 1주차 과제: JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가 본 게시글은 백기선 님의 live-study 과제를 수행하면서 작성한 글입니다. JVM이란 무엇인가? JVM이란 Java Virtual Machine 자바 가상 머신의 줄임말입니다. 여기서 가상 머신이란 넓은 의미에서 소프트웨어로 구현된 하드웨어를 뜻하는 용어이다. 자바로 작성된 프로그램들은 JVM에서 실행되기 때문에 자바 애플리케이션이 실행되기 위해서는 반드시 JVM이 필요합니다. 일반적인 애플리케이션은 OS를 거쳐 하드웨어로 전달되는데 비해 자바 애플리케이션은 JVM을 거쳐야 하기 때문에 속도가 느리다는 단점을 가지고 있었습니다. 그러나 최근엔 바이트코드를 기계어로 바로 변환해주는 JIT컴파일러가 적용되어 속도의 격차를 많이 줄였습니다. 일반적인 애플리케이션은 다른 OS에서 실행하려면 해당 OS에 맞.. 2020. 11. 18.
자바 char형을 int형으로 변환하는 방법 아스키 코드 문자 '0'~'9'에 해당하는 10진수는 48-57입니다. 이를 이용하여 특정 숫자 문자에서 '0'을 빼주면 해당 10진수가 나오게됩니다. '9' - '0' ⇒ 57 - 48 ⇒ 9 char c = '9'; int n = c - '0'; 2020. 11. 14.
백준 2941번 크로아티아 알바펫(Java) 문제 https://www.acmicpc.net/problem/2941 풀이 String 클래스에서 문자열을 치환해 주는 replace 메서드를 이용하여 문제를 풀이하였습니다. 단순히 문자열의 길이만 알면 되는 문제이기 때문에 replace 메서드를 이용하여 크로아티아 문자를 아무 의미 없는 문자 1개로 치환하여 문자열의 길이를 출력해 주었습니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new Bu.. 2020. 10. 26.
백준 10951번 A+B -4(Java) 문제 https://www.acmicpc.net/problem/10951 풀이 처음 이 문제를 보았을때 문제에 종료 조건이 명시되어 있지않아 당황했었다. 이 경우엔 EOF(End Of File)을 통해 프로그램이 종료되도록 해야한다. 여기서 EOF(End Of File)이란 입력 스트림이 더 이상 읽을 데이터가 없을 때를 말한다. 필자의 경우 BufferReader를 이용하여 문제를 풀었는데 자바 공식 문서에 따르면 StringBuffer는 더 이상 입력 데이터가 없을때 null을 리턴한다고 설명하고 있다. 코드 public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new Buff.. 2020. 10. 26.
백준 3052번 나머지(Java) 문제 https://www.acmicpc.net/problem/3052 풀이 이 문제는 '순서를 유지하지 않고, 중복 없이 자료를 저장'하는 Set 자료구조를 이용하면 쉽게 풀 수 있는 문제라고 생각합니다. 반복문을 이용하여 입력 받은 값을 42로 나눈 나머지 값을 Set에 추가하게되면 중복 없이 값이 저장되기 때문에 문제에서 요구하는 출력 값인 '42로 나누었을 때, 서로 다른 나머지가 몇 개'를 Set에 저장되어 있는 값의 개수를 통해서 바로 알 수 있습니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashSet; import java.ut.. 2020. 10. 26.