전체 글
-
[Baekjoon Online Judge] 1744번: 수 묶기문제 풀이/Baekjoon Online Judge 2021. 1. 2. 14:56
[Baekjoon Online Judge] 1744번: 수 묶기 1744번: 수 묶기 길이가 N인 수열이 주어졌을 때, 그 수열의 합을 구하려고 한다. 하지만, 그냥 그 수열의 합을 모두 더해서 구하는 것이 아니라, 수열의 두 수를 묶으려고 한다. 어떤 수를 묶으려고 할 때, 위치에 www.acmicpc.net 입력 받은 값들을 오름차순으로 정렬하여 가장 높은 수가 나올 수 있도록 수를 배분한다. 1. 0을 포함한 음수 2. 1 3. 1을 제외한 양수 1의 경우에는 곱하는 것 보다 더하는 것이 더 큰 값이 나오기 때문에 따로 더해주었다. 음수 list는 가장 작은 수 부터 탐색하며 짝수 번째에 곱해주고, 만약 size가 홀수로 한 개 남는다면 더해준다. 양수 list는 가장 큰 수 부터 탐색하며 짝수 번..
-
[Baekjoon Online Judge] 1138번: 한 줄로 서기문제 풀이/Baekjoon Online Judge 2021. 1. 2. 13:35
[Baekjoon Online Judge] 1138번: 한 줄로 서기 1138번: 한 줄로 서기 첫째 줄에 사람의 수 N이 주어진다. N은 10보다 작거나 같은 자연수이다. 둘째 줄에는 키가 1인 사람부터 차례대로 자기보다 키가 큰 사람이 왼쪽에 몇 명이 있었는지 주어진다. i번째 수는 0보다 www.acmicpc.net 처음 문제를 읽는데 이해가 잘 되지 않았다. 입력에 키가 1인 사람부터 차례대로 자기보다 키가 큰 사람이 왼쪽에 몇 명이 있었는지 주어진다고 한다. 그 말은 즉 키의 오름차순으로 서있다는 의미로 받아들여지는 것인지 헷갈렸다. 예제를 기준으로 보면 2 1 1 0 순이다. 그렇기 때문에 키가 큰 순서로 섯다고 가정하고 풀이를 진행하였다. 다른 사람의 풀이를 참고하여 총 두 가지 방법으로 풀..
-
[Baekjoon Online Judge] 1080번: 행렬문제 풀이/Baekjoon Online Judge 2021. 1. 1. 18:09
[Baekjoon Online Judge] 1080번: 행렬 1080번: 행렬 첫째 줄에 행렬의 크기 N M이 주어진다. N과 M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 행렬 A가 주어지고, 그 다음줄부터 N개의 줄에는 행렬 B가 주어진다. www.acmicpc.net 행렬B를 탐색하면서 행렬A와 비교한 값이 다를 때 행렬A를 변환하는 연산(어떤 3 x 3 크기의 부분 행렬에 있는 모든 원소를 뒤집는 것)의 최솟값을 구하는 문제이다. import java.io.*; public class Baekjoon1080 { public static BufferedReader bufferedReader; public static BufferedWriter bufferedWriter; publ..
-
[2020 KAKAO BLIND RECRUITMENT] 자물쇠와 열쇠문제 풀이/KAKAO BLIND RECRUITMENT 2021. 1. 1. 15:35
[2020 KAKAO BLIND RECRUITMENT] 괄호 반환자물쇠와 열쇠 코딩테스트 연습 - 자물쇠와 열쇠 [[0, 0, 0], [1, 0, 0], [0, 1, 1]] [[1, 1, 1], [1, 1, 0], [1, 0, 1]] true programmers.co.kr key 행렬을 돌리고 옮겨가며 모든 경우의 수를 시도해보는 문제이다. 우선 특정 행렬을 돌리는 메소드를 구현했다. public class LockAndKey_1 { static int get(int[][] a, int rotation, int row, int col) { // 현재 위치를 넣고, 돌렸을 때 값이 들어 있는 위치의 값을 반환하는 메소드 if (rotation == 90) { int temp = row; row = a.l..
-
Singleton Pattern 싱글톤 패턴Programming/Java 2020. 12. 30. 21:49
Singleton Pattern singleton pattern은 클래스의 인스턴스가 딱 1개만 생성되는 것을 보장하는 design pattern이다. 생성된 객체는 어디에서든지 참조 할 수 있다. 그렇기 때문에 멀티 스레드 환경에서 다수의 스레드가 해당 객체를 사용하기 때문에 Thread-safe가 보장되어야 한다. Java에서 singleton pattern을 생성하는 방법 다양하다. Eager initialization public class Singleton { private static final Singleton instance = new Singleton(); public static Singleton getInstance() { return instance; } private Singlet..
-
7주차 과제: 패키지Programming/Java live study 2020. 12. 30. 15:27
whiteship/live-study 온라인 스터디. Contribute to whiteship/live-study development by creating an account on GitHub. github.com 목표 자바의 패키지에 대해 학습하세요. 학습할 것 package 키워드 import 키워드 클래스패스 CLASSPATH 환경변수 -classpath 옵션 접근지시자 1. package 키워드 1.1 package의 개념 Java에서 package란 서로 관련 있는 클래스나 인터페이스의 컴파일된 클래스 파일들을 한 곳에 묶어 놓은 것을 말한다. 각각의 package는 디렉토리와 유사하다. 하나의 package는 클래스 파일들을 모아둔 디렉토리이다. 클래스를 지칭하기 위해서는 package명을..
-
[2020 KAKAO BLIND RECRUITMENT] 괄호 반환문제 풀이/KAKAO BLIND RECRUITMENT 2020. 12. 29. 21:58
[2020 KAKAO BLIND RECRUITMENT] 괄호 반환 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 콘은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 컴 programmers.co.kr 용어의 정의 '(' 와 ')' 로만 이루어진 문자열이 있을 경우, '(' 의 개수와 ')' 의 개수가 같다면 이를 균형잡힌 괄호 문자열이라 고 부른다. 그리고 여기에 '('와 ')'의 괄호의 짝도 모두 맞을 경우에는 이를 올바른 괄호 문자열이라고 부른다. 예를 들어, "(()))("와 같은 문자열은 균형잡힌 괄호 문자열 이지만 올바른 괄호 문자열은 아니다. 반면에 "(())()"와 같은 문자열은 균..
-
[2020 KAKAO BLIND RECRUITMENT] 문자열 압축문제 풀이/KAKAO BLIND RECRUITMENT 2020. 12. 29. 17:15
[2020 KAKAO BLIND RECRUITMENT] 문자열 압축 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 어피치는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자 programmers.co.kr 문자열을 압축하여 길이를 출력하는 문제이다. 눈으로 보기에는 간단해 보였지만 문자열 조작에 익숙하지 않아 생각보다 난잡한 코드가 되었다. 최대한 혼자 힘으로 풀기 위해 노력했다. 제출까지 완료하였지만 코드가 난잡하고 읽기도 힘든 부분이 많다. 문자열을 생성하고 더하는 부분에서 Stirng 클래스를 사용하여 문자열을 조합했기 때문에 메모리 사용이 많다. public class StringCo..