분류 전체보기

    [Tistory] 티스토리 코드블럭 꾸미기

    하이라이트 테마 설정 방법 1 - 가장 간단한 방법 블로그 관리 페이지 메뉴에서 [플러그인] → [Syntax Highlight] 를 클릭한다. 원하는 테마를 선택하고 [적용]을 클릭하면 적용된 모습을 확인할 수 있다. 방법 2 - 사이트 사용하는 방법 1. https://highlightjs.org/에 들어가서 [Get version] 을 클릭한다. highlight.js Version 10.7.2 This is a patch release. The only change is that deprecation messages are throttled and shown only once. highlightjs.org 2. cdnjs 코드를 복사한다. 여기서 보면 style이 default로 설정되어 있는데 ..

    [Java] 문자 ↔ 숫자 형변환(캐스팅, casting)

    📌 형변환(캐스팅, casting) 이란? 변수 또는 상수의 타입을 다른 타입으로 변환하는 것이다. 📌 문자 → 숫자 형변환 1. String → Int Integer.parseInt() : 문자열 파싱하여 int 객체 생성 (리턴타입은 기본 자료형) Integer.valueOf() : 문자열로 Integer 객체 생성 (리턴타입은 객체) String sNum = "1234"; int num1 = Integer.parseInt(sNum); int num2 = Integer.valueOf(sNum); 🎯 NumberFormatException 예외처리 만일 숫자 형태가 아닌 문자열을 숫자로 변환할 때, NumberFormatException이 발생하게 된다. String sNum = "1234a"; int..

    [Algorithm] 배열(Array)과 리스트(List)

    배열(Array) 배열은 메모리의 연속 공간에 값이 채워져 있는 형태의 자료구조이다. 배열의 값은 인덱스를 통해 참조할 수 있으며, 선언한 자료형의 값만 저장할 수 있다. 다음 그림은 배열을 나타낸 것이다. 그림을 보면 배열에 값 1, 값 2, ... 값 6이 채워져 있고, 각 값은 0부터 5까지 인덱스가 지정되어 있다. 배열의 특징 인덱스를 사용하여 값에 바로 접근할 수 있다. 새로운 값을 삽입하거나 특정 인덱스에 있는 값을 삭제하기 어렵다. 값을 삽입하거나 삭제하려면 해당 인덱스 주변에 있는 값을 이동시키는 과정이 필요하다. 배열의 크기는 선언할 때 지정할 수 있으며, 한 번 선언하면 크기를 늘리거나 줄일 수 없다. 구조가 간단하므로 코딩 테스트에서 많이 사용한다. 리스트(List) 리스트는 값과 포..

    [Algorithm] 시간 복잡도(Time Complexity)

    시간 복잡도(Time Complexity) 알고리즘에서 시간 복잡도는 주어진 문제를 해결하기 위한 연산 횟수를 말한다. 일반적으로 수행 시간은 1억 번의 연산을 1초의 시간으로 간주하여 예측한다. 시간 복잡도 유형 - 빅-오메가(Ω(n)) : 최선일 때(best case)의 연산 횟수를 나타낸 표기법 - 빅-세타(θ(n)) : 보통일 때(average case)의 연산 횟수를 나타낸 표기법 - 빅-오(O(n)) : 최악일 때(worst case)의 연산 횟수를 나타낸 표기법 코팅 테스트에서는 어떤 시간 복잡도 유형을 사용해야 할까? 코팅 테스트에서는 빅-오 표기법(O(n))을 기준으로 수행 시간을 계산하는 것이 좋다. 실제 테스트에서는 응시자가 작성한 프로그램으로 다양한 테스트 케이스를 수행해 모든 케이..

    [백준] 10818번 : 최소, 최대 - JAVA [자바]

    https://www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net 문제 풀이 👉 배열을 사용하는 방법 StringTokenizer.hasMoreTokens() 메소드는 다음에 읽어 들일 token이 있으면 true, 없으면 false를 return 한다. Arrays.sort() 메소드는 배열을 오름차순으로 정렬해 준다. import java.io.BufferedReader; import java.io.IOException; ..

    [백준] 11721번 : 열 개씩 끊어 출력하기 – JAVA [자바]

    https://www.acmicpc.net/problem/11721 11721번: 열 개씩 끊어 출력하기 첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다. www.acmicpc.net 문제 풀이 👉 String.toCharArray() 을 이용한 방법 toCharArray() 메소드는 문자열을 한 글자씩 잘라서 char 배열 형태로 리턴한다. import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStre..

    [백준] 2438번 : 별 찍기 - 1 – JAVA [자바]

    https://www.acmicpc.net/problem/2438 2438번: 별 찍기 - 1 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 www.acmicpc.net 문제 풀이 👉 기본적인 방법 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 BufferedReader(new InputStreamReader(System.in)); int n = Integer.pars..

    [백준] 11720번 : 숫자의 합 – JAVA [자바]

    https://www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net 문제 풀이 우선, 문제를 보면 N의 범위가 1부터 100까지이므로 값을 ing형, long형과 같은 숫자형으로 담을 수 없기 때문에 문자열 형태로 입력값을 받아야 한다. 👉 BufferedReader + String.charAt() 먼저 숫자의 개수인 n을 입력받고, 다음 줄에 숫자를 정수가 아닌 String형으로 입력을 받는다. 그리고 for문을 통해 입력받은 문자열의 첫 번째 원소(charAt(0)) 부터 마지막 원소(charAt(n)) 까지 각 원소의 누적 합을 구하면 된다..

    [백준] 11718번~11719번 : 그대로 출력하기 – JAVA [자바]

    https://www.acmicpc.net/problem/11718 11718번: 그대로 출력하기 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시 www.acmicpc.net https://www.acmicpc.net/problem/11719 11719번: 그대로 출력하기 2 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄이 주어질 수도 있고, 각 줄의 앞 뒤에 공백이 www.acmicpc.net 문제 🎯 11718번 🎯 11719번 풀이 문제..

    [백준] 11021번 : A+B - 7 – JAVA [자바]

    https://www.acmicpc.net/problem/11021 11021번: A+B - 7 각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다. www.acmicpc.net 문제 풀이 👉 BufferedReader + StringTokenizer + StringBuilder 을 이용한 방법 참고로 append 를 한 번에 적어줘도 된다. sb.append("Case #"+ i + ": " + (Integer.parseInt(st.nextToken())+Integer.parseInt(st.nextToken())) + "\n" ); 근데 아래 코드처럼 나눠서 쓰는 이유는 직접 테스트해보면 알겠지만 저렇게 출력할 문자에 여러 타입이 섞여있으..