전체 글 104

[JAVA] 프로그래머스 : 같은 숫자는 싫어 (Level 1)

https://programmers.co.kr/learn/courses/30/lessons/12906?language=java 코딩테스트 연습 - 같은 숫자는 싫어 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 programmers.co.kr 해결 방안 standard라고 기준을 만들고 기준과 같으면 중복된 숫자이므로 넘어가고 다른 숫자가 나오면 list에 넣어준다. 그 후 list를 int 배열에 옮겨준다. 코드 import java.util.*; public class Solution { public int[] solution(int []arr)..

[JAVA] 프로그래머스 : 문자열 다루기 기본 (Level 1)

https://programmers.co.kr/learn/courses/30/lessons/12918?language=java 코딩테스트 연습 - 문자열 다루기 기본 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다. 제한 사항 s는 길이 1 이�� programmers.co.kr 해결 방안 문자열 s의 길이가 4나 6이 아니면 false를 return 해준다. Character의 isDigit() 함수를 사용하여 문자열 s의 각 자리의 char의 숫자여부를 확인해준다. 만약 false가 나오면 문자이므로 false를 returnn 해준다. * Characte..

[JAVA] 프로그래머스 : 문자열 내 마음대로 정렬하기 (Level 1)

https://programmers.co.kr/learn/courses/30/lessons/12915?language=java 코딩테스트 연습 - 문자열 내 마음대로 정렬하기 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 [sun, bed, car]이고 n이 1이면 각 단어의 인덱스 1� programmers.co.kr 해결 방안 Comparator를 활용하여 n번째 index 값을 strings[i] 앞에 붙여서 순서를 정렬하였습니다. 코드 import java.util.*; // 문자열 내 마음대로 정렬하기 class Solution { // strings 길이 1~50 // strin..

[JAVA] 프로그래머스 : JadenCase 문자열 만들기 (Level 2)

https://programmers.co.kr/learn/courses/30/lessons/12951# 코딩테스트 연습 - JadenCase 문자열 만들기 JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 programmers.co.kr 해결 방안 s를 함부로 split 하게 되는 경우 주어진 s 중 3People__abc 와 같은 경우 두 번 띄어쓰기를 처리하는데 어려움을 겪었다. 따라서 StringBuilder를 이용하여 i일 때 i-1 인덱스가 " "인 경우 대문자로 변환해주었다. 이 때 StringBuilder의 setCharA..

[JAVA] 프로그래머스 : 124 나라의 숫자

https://programmers.co.kr/learn/courses/30/lessons/12899?language=java# 코딩테스트 연습 - 124 나라의 숫자 124 나라가 있습니다. 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니다. 124 나라에는 자연수만 존재합니다. 124 나라에는 모든 수를 표현할 때 1, 2, 4만 사용합니다. programmers.co.kr 해결 방안 3진법의 응용과정이다. 3으로 나눴을때 나머지가 0인 경우를 처리해주면된다. (4가 되고 n-=1 해주는) 코드 // 124 나라의 숫자 class Solution { public String solution(int n) { String answer = ""; int rest = 0; w..

[JAVA] 백준 15686번 : 치킨 배달(삼성 SW 역량 테스트 기출 문제)

https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net 문제 DFS + 구현 문제이다. 처음 시간 초과나서 방법을 좀 바꿔서 다시 풀었다. 해결 방안 처음에는 전체 집List, 전체 치킨집List와 visited 배열을 사용하여 전체 치킨집 중 M개를 DFS 와 백트래킹을 이용하여 구현하였다. 하지만 거리를 구하는 과정에서 전체 집에서 전체 치킨집을 돌면서 M개에 포함되지 않는 경우도 조건을 통해 거르다 보니 시간 초과가 났다. ..

[JAVA] 백준 15685번 : 드래곤 커브(삼성 SW 역량 테스트 기출 문제)

https://www.acmicpc.net/problem/15685 15685번: 드래곤 커브 첫째 줄에 드래곤 커브의 개수 N(1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 드래곤 커브의 정보가 주어진다. 드래곤 커브의 정보는 네 정수 x, y, d, g로 이루어져 있다. x와 y는 드래곤 커� www.acmicpc.net 문제 구현 문제이다. 해결 방안 map의 전체 크기는 101 x 101이 될 것이다. (전체 격자가 100x100 이므로) 1. 드래곤 커브의 갯수 N만큼 드래곤 커브의 정보들(x, y, d, g)을 받게 되는데 (drawDragonCurve() 함수 참고) 1.1. 각 드래곤 커브마다 g(세대)까지 map에 그려줘야한다.(드래곤 커브가 가지고 있는 꼭지점을 true로..

[JAVA] 백준 15683번 : 감시(삼성 SW 역량 테스트 기출 문제)

https://www.acmicpc.net/problem/15683 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감�� www.acmicpc.net 문제 DFS + 구현(Simultation) 문제이다. 해결 방안 CCTV 클래스를 만들어서 각 CCTV의 y(row), x(col), kinds(cctv 종류), dir[](해당 cctv가 가진 방향) 정보를 가지고 있도록 하였다. 1. Main에서 사무실 공간 값(map[i][j])을 입력 받을 때 cctv 값(1~5)가 포함되면 List cctvs에 넣어주었다. 2. cctvs..

[JAVA] 백준 14891번 : 톱니바퀴 (삼성 SW 역량 테스트 기출 문제)

https://www.acmicpc.net/problem/14891 14891번: 톱니바퀴 첫째 줄에 1번 톱니바퀴의 상태, 둘째 줄에 2번 톱니바퀴의 상태, 셋째 줄에 3번 톱니바퀴의 상태, 넷째 줄에 4번 톱니바퀴의 상태가 주어진다. 상태는 8개의 정수로 이루어져 있고, 12시방향부터 � www.acmicpc.net 문제 구현(Simulation) 문제이다. 해결 방안 문제 구성을 크게 1. 입력 받는 부분, 2. 각 톱니바퀴 회전 방향 입력에 따른 전체 톱니바퀴 회전 방향 구하기, 3. 회전 방향에 따른 각 톱니바퀴 상태 재설정, 4. 다 회전한 후 톱니바퀴 점수 합 구하기 로 4가지로 구성하였다. 1. 입력 받는 부분은 그냥 입력 받으면 되는 부분이라 넘어갑니다. 2. 각 톱니 바퀴 회전 방향 입..

[데이터베이스] 신입 프로그래머 기술(실무) 면접 준비 1

데이터베이스 면접 질문 # 데이터베이스 기본 내용 Q. Database와 DBMS란? A. Database는 사용자가 필요한 정보를 얻기 위해 논리적으로 연관된 데이터를 모아 구조적으로 통합해 놓은 것입니다. DBMS는 Database Management System의 약자로 사용자와 데이터베이스를 연결시켜주는 소프트웨어입니다. 즉 DB를 관리하기 위한 시스템입니다. (대표적으로 구성, 조작, 제어 등의 기능을 가집니다.) Q. SQL이란? SQL의 종류는? A. SQL(Structured Query Language)는 구조적 질의 언어로 해당 질의 언어를 통해 데이터베이스를 제어하고 관리할 수 있다. SQL 종류로는 DDL(Data Definition Language), DML(Data Manipula..

Study/Interview 2020.08.22