문제 링크 programmers.co.kr/learn/courses/30/lessons/42746 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 문제 풀이 정렬하는 문제였습니다. 처음에는 두수를 앞자리부터 한자리씩 비교해서 정렬하였으나 이 방법으로는 통과하지 못하는 케이스가 있었습니다. 예)[212 , 21] 정답: 21221 다시 생각 해 본결과, 아예 두 수를 이어 붙여서 비교하면 둘 중에 어느 수가 먼저 이어붙였을 때 큰 수인지 알 수 있..
문제 링크 https://www.acmicpc.net/problem/20056 20056번: 마법사 상어와 파이어볼 첫째 줄에 N, M, K가 주어진다. 둘째 줄부터 M개의 줄에 파이어볼의 정보가 한 줄에 하나씩 주어진다. 파이어볼의 정보는 다섯 정수 ri, ci, mi, si, di로 이루어져 있다. 서로 다른 두 파이어볼의 위치 www.acmicpc.net 문제 풀이 풀다보면 딱 삼성 코딩테스트 문제같다고 느끼는 시뮬레이션 문제이다. 배열을 생성해서 풀 필요없이 자료구조를 이용해서 풀었다. 테스트 케이스까지 금방 맞았지만 제출했을때 자꾸 틀려서 한참 고민했던 문제... 나처럼 파이어볼이 이동할때를 나머지로 처리해서 풀었을 때 반례를 생각해 보면, 속도가 굉장히 높을때를 생각해서 구현하는 것도.. 중요..
문제 링크 http://boj.kr/19236 19236번: 청소년 상어 첫째 줄부터 4개의 줄에 각 칸의 들어있는 물고기의 정보가 1번 행부터 순서대로 주어진다. 물고기의 정보는 두 정수 ai, bi로 이루어져 있고, ai는 물고기의 번호, bi는 방향을 의미한다. 방향 bi는 www.acmicpc.net 문제 풀이 삼성 코딩테스트 기출문제입니다. 그 전에 나왔던 아기상어(http://boj.kr/16236)의 시리즈로 내놨나 봐요 ㅎㅎ 아기상어는 BFS로 푸는 문제였는데 요 청소년 상어는 문제에서 주어지는대로 이동시키는 시뮬레이션 문제로 보입니다! 어렵지는 않았지만 문제를 읽다보니 물고기가 없는 칸으로는 이동할 수 없다. 이부분이 있는데 이 부분을 잘 못 이해해서 물고기 없는칸 이후 방향으로는 탐색하..
문제 링크 https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 문제 풀이 문제 설명에 맞게 시물레이션 해서 풀면 되는 문제입니다. 알고리즘 관련 배경지식보다는 구현력이 중요한 문제라는 생각이 듭니다. 소스 코드 import java.util.*; public class Main { static int [] dx = { -1 , 0 , 1, 0}; static int [] dy = { 0 , 1 , 0 , -1}; static int N; stat..
파이썬으로 만들어보고 싶은 프로그램이 생겨서 파이썬을 공부하기 시작했는데요. 수요가 많은 언어인 만큼 공부해서 나쁠 것 없다고 생각됩니다. 오늘은 파이썬을 설치해보고, IDLE에서 간단하게 입력하는 것 까지 진행해보도록 하겠습니다. 파이썬은 파이썬 공식홈페이지에서 받아 설치할 수도 있습니다. 하지만 오늘은 아나콘다를 이용해서 파이썬을 설치하도록 하겠습니다. 아나콘다를 이용해서 설치하는 이유? 파이썬에는 수많은 패키지가 존재하고 있습니다. 이 중에서 아나콘다는 파이썬에서 수학이나 과학등에서 사용되는 여러 패키지를 묶은 파이썬 배포판입니다. 아나콘다를 이용해서 설치하면 파이썬도 설치가 되고, 여러 패키지를 사용할 수 있기 때문에 아나콘다를 이용해서 설치해 보겠습니다. 설치 과정 anaconda3의 다운로드 ..
Java에서 객체를 정렬할때 직접 정렬 알고리즘을 짜서 정렬 할 수도 있지만, Arrays.sort()나 Collections.sort()를 많이 사용하죠. 사용자 기준으로 정렬기준을 정해 원하는대로 정렬하고 싶을때 Comparator, Comparable을 사용합니다. Comparator과 Comparable의 차이점을 간단하게 생각하자면 Comparable은 Class에 정렬기준을 정하는 것이고, Compartor는 기본 정렬 기준과 다르게 정렬하고 싶을때 사용합니다. Comparable 사용하기 Comparable은 클래스에 Comparable를 implements하고 compareTo를 오버라이드 하여 구현합니다. 예시를 보겠습니다. 실행결과 compareTo에서 음수 or 0을 리턴할 시 두 객..
문제 링크 https://www.acmicpc.net/problem/1520 1520번: 내리막 길 첫째 줄에는 지도의 세로의 크기 M과 가로의 크기 N이 빈칸을 사이에 두고 주어진다. 이어 다음 M개 줄에 걸쳐 한 줄에 N개씩 위에서부터 차례로 각 지점의 높이가 빈 칸을 사이에 두고 주어진다. www.acmicpc.net 문제 풀이 dfs+dp 문제이다. 처음에는 bfs로 그냥 풀었다가 메모리 초과가 나버렸고, 그냥 dfs로 했다가 시간 초과가 나버렸다. dfs로 쭉 탐색하다가 오른쪽 끝 지점에 도달했을때 1을 리턴하고, 만약에 해당 지점을 탐색한 적이 있을 때 해당 값을 리턴한다. 소스 코드 import java.util.Arrays; import java.util.Scanner; public cla..
문제 링크 https://www.acmicpc.net/problem/2630 2630번: 색종이 만들기 첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 16, 32, 64, 128 중 하나이다. 색종이의 각 가로줄의 정사각형칸들의 색이 윗줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진다. www.acmicpc.net 문제 풀이 소스 코드 import java.util.*; public class Main { static int [][] paper; static int ans [] = {0,0}; public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); ..
- Total
- Today
- Yesterday
- 가장 큰 수
- javascript
- 01타일
- 커링
- 삼성 코테
- 문자열 압축
- 39회차
- 삼성기출
- 제네릭 타입
- 청소년상어
- 삼각달팽이
- java
- 반례
- yyyy-MM-dd
- 19236
- 프로그래머스
- DP
- 날짜 유효성
- for of
- 카카오 코딩 테스트
- 제네릭(Generic)
- spring cache
- vaild
- 백준
- 오버로딩
- RGB거리
- local cache
- 1629
- 키패드 누르기
- 카카오 인턴십
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |