반응형

분류 전체보기 106

[JAVA] 프로그래머스 : 약수의 합 (Level 1)

https://programmers.co.kr/learn/courses/30/lessons/12928?language=java 코딩테스트 연습 - 약수의 합 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 정수입니다. 입출력 예 n return 12 28 5 6 입출력 예 설명 입출력 예 #1 12의 약수 programmers.co.kr 해결 방안 1~n 사이 숫자로 나눴을 때 나머지가 0이 되는 경우는 모두 약수이다. 코드 class Solution { public int solution(int n) { int answer = 0; for(int i=1; i

[JAVA] 프로그래머스 : 소수 찾기 (Level 1)

https://programmers.co.kr/learn/courses/30/lessons/12921?language=java 코딩테스트 연습 - 소수 찾기 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상 programmers.co.kr 해결 방안 주어진 숫자 n의 1~n 까지의 소수 갯수를 찾는 문제이다. 에라토스테네스의 체를 사용하여 i 가 소수인지 확인하였다. 코드 class Solution { public int solution(int n) { int answer = 0; for(int i=2; i

[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..

반응형