posted by 귀염둥이채원 2019. 3. 3. 21:58

# 자바(java) 프로그램 코드의 시간 측정 방법

https://palyoung.tistory.com/41


long beforeTime = System.currentTimeMillis();

****** 소스 코드 ******

System.out.println("count= " + count);

long afterTime = System.currentTimeMillis();

long secDiffTime = (afterTime - beforeTime);

System.out.println("시간차이(msec) : " + secDiffTime);


# 시간복잡도(Time Complexity), 빅오(Big-O)표기법이란?

https://palyoung.tistory.com/37


# String to int, int to String 변환

https://palyoung.tistory.com/52


# String값을 int형의 값으로 바꾸는 방법

int numInt = Integer.parseInt(numStr);


# int형의 값을 String으로 바꾸는 방법

String numStr2 = String.valueOf(numInt);


# ArrayList 사용법

https://palyoung.tistory.com/50


# StringTokenizer 사용법 정리

https://palyoung.tistory.com/54


# String vs StringBuffer vs StringBuiler

https://palyoung.tistory.com/53

StringBuilder가 성능이 좋다.


# Scanner vs BufferedReader 차이

https://palyoung.tistory.com/55

BufferedReader가 성능이 좋다.



'PS(Problem Solving) > 공통' 카테고리의 다른 글

백준 사이트 정리  (0) 2019.03.01
알고리즘 소스 템플릿  (0) 2019.02.27
알고리즘 문제 풀이 템플릿  (0) 2019.02.27
알고리즘 학습 관련 자료 모음  (0) 2019.02.27
posted by 귀염둥이채원 2019. 3. 1. 20:44

# 채점결과

기다리는 중: 채점이 밀려서 아직 채점이 되지 않은 경우.

재채점을 기다리는 중: 재채점을 기다리는 중인 경우.

컴파일 하는 중: 컴파일 하는 중인 경우.

채점중: 채점을 하는 중인 경우.

맞았습니다!!: 제출한 프로그램이 모든 테스트 케이스를 통과했을 경우. 즉, 정답이다.

출력 형식이 잘못되었습니다: 출력 결과는 정답과 유사하나, 공백, 빈 줄과 같은 문제로 인해서 출력 결과가 일치하지 않은 경우.

틀렸습니다: 출력 결과가 정답과 다른 경우.

시간 초과: 프로그램이 제한된 시간 이내에 끝나지 않은 경우. 이런 경우에는 채점을 중간에 중단하므로 정답이 맞는지 아닌지는 알 수 없다.

메모리 초과: 프로그램이 허용된 메모리보다 많은 메모리를 사용했을 경우.

출력 초과: 너무 많은 출력이 발생하는 경우. 주로 프로그램이 무한 루프에 빠졌을 때 발생한다. 출력 제한은 1MB.

런타임 에러: 실행 도중에 'segmentation fault', 'floating point exception', 'used forbidden functions', 'tried to access forbidden memories' 등의 에러가 발생하여 프로그램이 종료된 경우.

컴파일 에러: 컴파일 하지 못한 경우. Warning Message는 에러 메시지가 아니다. 채점 결과를 클릭하면 컴파일 에러 메시지를 볼 수 있다..


맞았습니다!!(내지는 부분 점수)를 제외한 어떤 최종 채점 결과도 정답 처리가 되지 않는다. 


# 문제선택

정답자 수, 제출 수, 정답률: 

- 정답자 수가 많고, 정답률이 높을수록 쉬운 문제이다.


- 정답률이 낮지만 문제가 쉬운 경우

  - 한두 번 문제의 함정에 걸리거나 예외 처리를 잘못하는 등 구현 문제


- 정답률이 높지만 어려운 문제

  - 문제 자체가 어려워서 손을 댄 사람이 적은 경우

  - 실제로 이런 경우엔 제출자 수부터 현저히 떨어진다.


문제집

- 유저들이 자유롭게 생성할 수 있는 문제집 중에서 초심자 전용 문제집이 많이 존재한다. 

  좋은 문제들을 많이 모아놓은 문제집이 많으므로 애용하면 좋다.

  문제 수가 아주 적지도 않으면서 문제집 클리어 수가 많으면 대체로 쉽다고 판단할 수 있다.

  클리어 수가 적더라도 대부분의 문제가 쉬운 경우가 있으므로 꼭 들어가보자.


내가 못 푼 문제들: 

- 전체 문제들 중에서 내가 아직 풀지 않은 문제를 정답자 수 등의 기준으로 정렬하여 보여준다.

- 상단에 위치할수록 대체로 쉬운 문제이다.


# 단계별로 문제 풀어보기

https://www.acmicpc.net/step


# [문제집] 단계별로 풀어보기 jh05013 Edition pt.1

https://www.acmicpc.net/workbook/view/1946


# [문제집] 백준에서 가장 많이 풀린 문제 TOP 100 (입문자 추천)

https://www.acmicpc.net/workbook/view/2435


# 참고사이트

https://namu.wiki/w/Baekjoon%20OJ

posted by 귀염둥이채원 2019. 2. 27. 19:25

# sample.txt

2

5

5


# Template Code


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import java.io.FileInputStream;
import java.util.Scanner;
 
public class TEST {
    static int N;
    static int Answer;
 
    public static void main(String[] args) throws Exception {
        System.setIn(new FileInputStream("C:\\java\\SW\\sample.txt"));
        Scanner sc = new Scanner(System.in);
 
        int T = sc.nextInt();
        for (int test_case = 1; test_case <= T; test_case++) {
            Answer = N = sc.nextInt();
            System.out.println("#" + test_case + " " + Answer);
        }
    }
}
cs


# Result

#1 5

#2 5

posted by 귀염둥이채원 2019. 2. 27. 18:34

# 문제 링크


# 문제 요약


# 문제 풀이


# 소스 코드


# 회고

posted by 귀염둥이채원 2019. 2. 27. 18:33

# SWEA Reference Code

https://www.swexpertacademy.com/main/code/referenceCode/referenceCodeList.do


# Data Structure

- Stack

- Queue

- Priority Queue

- Hash

- Tree

- Graph

- Linked List


# Algorithm

- Recursion

- Insertion Sort

- Quick Sort

- Quick Sort

- Counting Sort

- Binary Search -- https://palyoung.tistory.com/35

- DFS Searching

- BFS Searching

- Parametric Search

- Dynamic Programming

- Permutation & Combination

- Dijkstra



# 백준 알고리즘 기초

https://code.plus/course/4


1. 알고리즘과 입/출력

- Hello World

- A+B

- A+B - 2

- A+B - 3

- A+B - 4

- A+B - 5

- A+B - 6

- A+B - 7

- A+B - 8

- 그대로 출력하기

- 그대로 출력하기 2

- 숫자의 합

- 열 개씩 끊어 출력하기


2. 자료구조 1

- 스택

- 괄호

- 쇠막대기

- 에디터

- 큐

- 조세퍼스 문제

- 덱

- 알파벳 개수

- 알파벳 찾기

- 문자열 분석

- 단어 길이 재기

- ROT13

- 네 수

- 접미사 배열


3. 다이나믹 프로그래밍 1

- 1로 만들기

- 2×n 타일링

- 2×n 타일링 2

- 1, 2, 3 더하기

- 붕어빵 판매하기

- 쉬운 계단 수

- 오르막 수

- 이친수

- 스티커

- 포도주 시식

- 가장 긴 증가하는 부분 수열

- 가장 큰 증가 부분 수열

- 가장 긴 감소하는 부분 수열

- 가장 긴 바이토닉 부분 수열

- 연속합

- 계단 오르기

- 제곱수의 합

- 타일 채우기

- 파도반 수열

- 합분해

- 암호코드


4. 수학 1

- 나머지

- 최대공약수와 최소공배수

- 최소공배수

- GCD 합

- 진법 변환 2

- 진법 변환

- 2진수 8진수

- 8진수 2진수

- 2진수

- Base Conversion

- 소수 찾기

- 소수 구하기

- 골드바흐의 추측

- 소인수분해

- 팩토리얼

- 팩토리얼 0의 개수

- 조합 0의 개수


5. 정렬

- 수 정렬하기 2

- 좌표 정렬하기

- 좌표 정렬하기 2

- 나이순 정렬

- 국영수

- 수 정렬하기 3

- 카드

- K번째 수

- 버블 소트


6. 그래프 1

- DFS와 BFS

- 연결 요소의 개수

- 이분 그래프

- 순열 사이클

- 반복수열

- 텀 프로젝트

- 단지번호붙이기

- 섬의 개수

- 미로 탐색

- 토마토

- 다리 만들기


7. 트리 1

- 트리 순회

- 트리의 부모 찾기

- 트리의 지름

- 트리의 지름


# 삼성 SW 역량 테스트 기출 문제

https://www.acmicpc.net/workbook/view/1152



# geeksforgeeks

https://www.geeksforgeeks.org/


# 알고리즘 문제 해결 전략 세트 도서


# 동빈나 알고리즘

https://www.youtube.com/watch?v=qQ5iLNjpxSk&list=PLRx0vPvlEmdDHxCvAQS1_6XV4deOwfVrz


# T 아카데미

https://www.youtube.com/watch?v=vQv7PTKM2LI&list=PL9mhQYIlKEhdvKFh-wVpDuihNQv6C1gSy&index=1


# 권호흠 교수: 자바 알고리즘

https://www.youtube.com/playlist?list=PL52K_8WQO5oUuH06MLOrah4h05TZ4n38l

http://alg.pknu.ac.kr/


# 생활코딩: 자료구조

https://www.youtube.com/playlist?list=PLuHgQVnccGMDsWOOn_P0EmAWB8DArS3Fk


# 알고리즘 투게더 with 거니

https://www.youtube.com/channel/UCO7g158NWgLyn98z8v3zduA/videos


# 인프런: 영리한 프로그래밍을 위한 알고리즘 강좌

https://www.inflearn.com/course/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EA%B0%95%EC%A2%8C/


# 인프런: Java로 배우는 자료구조

https://www.inflearn.com/course/java-%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0/