[백준] 10989 자바
·
Coding Test/Baekjoon
10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 백준 브론즈1 문제입니다. 최대 10,000,000개의 데이터를 입력받아 정렬하여 출력하는 문제입니다. 데이터의 개수가 많으므로 Scanner를 이용한 입력이 아닌 BufferedReader를 이용한 입력을 받았고, 출력도 StringBuilder를 생성해서 한 번에 하였습니다. 2751번 문제와 똑같은 코드로 해결할 수 있었습니다. import java.io.*; import java.util.*; public class Main { public static void main(St..
[백준] 2751 자바
·
Coding Test/Baekjoon
2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 백준의 실버5 문제입니다. 이전에 풀었던 2750문제와 내용은 같지만 입력에 주어질 수 있는 수의 범위가 많이 증가했습니다. 그렇기 때문에 이전의 코드로 시도를 해봤지만 시간초과가 나타나게 됩니다. import java.util.*; public class Main { public static void main(String args[]){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[..
[백준] 2750 자바
·
Coding Test/Baekjoon
2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 백준의 브론즈2 문제입니다. 입력 받은 문자들을 정렬하여 그대로 출력하면 되는 문제입니다. 최대 데이터의 개수가 1000개로 그렇게 크지 않기 때문에 Scanner를 이용하여 입력을 받았고 Arrays.sort()를 이용하여 정렬하여 그대로 출력하였습니다. import java.util.*; public class Main { public static void main(String args[]){ Scanner sc = new Scanner(System.in); //데이..
[백준] 1920 자바
·
Coding Test/Baekjoon
1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 백준의 실버4 문제입니다. 문제 내용은 배열 내에 특정 숫자가 존재하는지 안하는지 판단하는 아주 간단한 문제라 브론즈 문제라고 생각할 수 있지만 그렇지 않은 이유가 있었습니다. import java.util.*; import java.io.*; public class Main { static int N, M; public static void main(String args[]) throws IOException{ ..
[디자인 패턴] 전략(Strategy) 패턴
·
Study/Design Pattern
헤드 퍼스트 디자인 패턴 - 교보문고 14가지 GoF 필살 패턴! | 경력과 세대를 넘어 오랫동안 객체지향 개발자의 성장을 도와준 디자인 패턴 교과서의 화려한 귀환! 》 2005년부터 디자인 패턴 도서 분야 부동의 1위 》 디자인 패턴의 고 www.kyobobook.co.kr 전략(Strategy) 패턴이란? 전략 패턴이란 특정한 계열의 알고리즘들을 정의하고 각각을 캡슐화하여 사용할 수 있도록 만드는 패턴을 말합니다. 이를 활용하면 이 알고리즘을 사용하는 클라이언트와는 독립적으로 알고리즘을 변경할 수 있게 됩니다. 예제 다양한 오리를 등록해야하는 오리 시뮬레이션 게임의 오리 클래스 Duck을 예제로 예시를 적어보도록 하겠습니다. Duck.java public abstract class Duck { Fly..
[Book] 실용주의 프로그래머 정리 - 05
·
Book/실용주의 프로그래머(The Pragmatic Programmer)
실용주의 프로그래머 - 교보문고 The Pragmatic Programmer숙련공에서 마스터로프로그래밍은 대체로 머리로 하는 일이지만 한편으로는 몸에 새겨져야 하고 때로는 그 이상의 통찰을 발휘해야 하는 상황에 맞닥뜨리게 되는 복합적인 www.kyobobook.co.kr 구부러지거나 부러지거나 26. 결합도 줄이기와 디미터 법칙 이전 글에서 '부끄럼 타는' 코드를 작성하는 것이 이롭다고 설명했습니다. 이때 '부끄럼 타는' 이란 자신의 모든 것을 드러내지 않고, 너무 많은 사람과 상호작용을 하지 않는다는 두 가지의 의미를 가지고 있습니다. 코딩을 하며 어떤 모듈들을 만들 때 각 모듈 간의 상호작용을 제한해야 합니다. 그러면 한 모듈이 변경되거나 교체된다 하더라도 다른 모듈들은 변경 없이 수행될 수 있을 것..
[Book] 실용주의 프로그래머 정리 - 04
·
Book/실용주의 프로그래머(The Pragmatic Programmer)
실용주의 프로그래머 - 교보문고 The Pragmatic Programmer숙련공에서 마스터로프로그래밍은 대체로 머리로 하는 일이지만 한편으로는 몸에 새겨져야 하고 때로는 그 이상의 통찰을 발휘해야 하는 상황에 맞닥뜨리게 되는 복합적인 www.kyobobook.co.kr 실용주의 편집증 완벽한 소프트웨어는 만들 수 없다. 위의 말은 사실입니다. 완벽한 소프트웨어는 존재하지 않기 때문입니다. 그리고 이것을 기정 사실로 받아들이지 않는다면, 불가능한 꿈을 뒤쫓으며 시간과 노력을 낭비하게 될 것입니다. 그래서 우리는 방어적으로 코딩해야합니다. 코딩을 하는 도중 조금이라도 의심가는 부분이 있다면 주어진 모든 정보를 확인해야 합니다. 21. 계약에 의한 설계 계약에 의한 설계란 단순하지만 강력한 기법으로, 프로그..
[Book] 실용주의 프로그래머 정리 - 03
·
Book/실용주의 프로그래머(The Pragmatic Programmer)
실용주의 프로그래머 - 교보문고 The Pragmatic Programmer숙련공에서 마스터로프로그래밍은 대체로 머리로 하는 일이지만 한편으로는 몸에 새겨져야 하고 때로는 그 이상의 통찰을 발휘해야 하는 상황에 맞닥뜨리게 되는 복합적인 www.kyobobook.co.kr 3장 기본적인 도구 14. 일반 텍스트의 힘 일반 텍스트는 사람이 직접 읽고 이해할 수 있는 형태의 인쇄가능한 문자로 이루어진 텍스트를 말합니다. 예를 들면 'Field19=773h26saa' 에서 733h26saa를 보고 무슨 의미인지 떠올릴 수 있는 사람은 없을 것 입니다. 그렇기 때문에 'UserId=haha123' 과 같이 인간이 이해할 수 있는 텍스트로 만드는 것이 더 나은 선택입니다. 물론 일반 텍스트로 작성하는 것은 압축된 ..
dororong
'분류 전체보기' 카테고리의 글 목록 (4 Page)