전체 글

Programmers/Lv.1

[프로그래머스][Lv.1][Java] 덧칠하기

코딩테스트 연습 - 덧칠하기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 어느 학교에 페인트가 칠해진 길이가 n미터인 벽이 있습니다. 벽에 동아리 · 학회 홍보나 회사 채용 공고 포스터 등을 게시하기 위해 테이프로 붙였다가 철거할 때 떼는 일이 많고 그 과정에서 페인트가 벗겨지곤 합니다. 페인트가 벗겨진 벽이 보기 흉해져 학교는 벽에 페인트를 덧칠하기로 했습니다. 넓은 벽 전체에 페인트를 새로 칠하는 대신, 구역을 나누어 일부만 페인트를 새로 칠 함으로써 예산을 아끼려 합니다. 이를 위..

백준

[백준 2830번][Java][비트연산자] 행성 X3

https://www.acmicpc.net/problem/2830 풀이 n의 범위가 1,000,000이기 때문에 이중for문을 사용하면 시간복잡도가 O(n^2)이 되어 시간초과가 된다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Practice { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); in..

백준

[백준 10807번][Java][HashMap] 개수 세기

https://www.acmicpc.net/problem/10807 풀이 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); String same = ""; StringTokenizer s..

Programmers/Lv.1

[프로그래머스][Lv.1][Java] 숫자 문자열과 영단어

문제 설명 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다. 1478 → "one4seveneight" 234567 → "23four5six7" 10203 → "1zerotwozero3" 이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ s의 길이 ≤ 50 s가 "zero" 또는 "0"으로 시작하는 경우는 주어지지 않습니다. return 값이 1 이상 2,000,000,000 ..

백준

[백준 9012번][Java][Stack] 괄호

https://www.acmicpc.net/problem/9012 풀이 Stack과 출력을 위해 StringBuilder사용 append() - 문자열을 결합 해주는데 checkVps에서 return해주는 값과 줄바꿈을 합쳐서 문제에서 요구하는 출력 형식 완성 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Stack; /* Stack - 백준 9012번 */ public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new Buffered..

Programmers/Lv.0

[프로그래머스][Lv.0][Java] 짝수는 싫어요

문제 설명 정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ n ≤ 100 입출력 예 n result 10 [1, 3, 5, 7, 9] 15 [1, 3, 5, 7, 9, 11, 13, 15] 풀이 IntStream을 이용해 풀었다. range(시작 숫자, 마지막 숫자 + 1) filter(조건) - 인자로 함수를 받으며, 조건으로 stream의 요소들을 필터링 한다. toArray() - stream을 array로 변환해준다. import java.util.stream.IntStream; class Solution { public int[] solution(int n) { return IntStream.ra..

Programmers/Lv.1

[프로그래머스][Lv.1][Java] 음양 더하기

문제 설명 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요. 제한사항 absolutes의 길이는 1 이상 1,000 이하입니다. absolutes의 모든 수는 각각 1 이상 1,000 이하입니다. signs의 길이는 absolutes의 길이와 같습니다. signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다. 입출력 예 absolutes signs result [4,7,12] [true,false,true] 9 [1,2,3] [false,fals..

Programmers/Lv.1

[프로그래머스][Lv.1][Java] 서울에서 김서방 찾기

문제 설명 String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. 제한 사항 seoul은 길이 1 이상, 1000 이하인 배열입니다. seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다. "Kim"은 반드시 seoul 안에 포함되어 있습니다. 입출력 예 seoul return ["Jane", "Kim"] "김서방은 1에 있다" 풀이 class Solution { public String solution(String[] seoul) { String answer = ""; for (int i = 0; i ..

Programmers/Lv.1

[프로그래머스][Lv.1][Java][등차수열의 합] 두 정수 사이의 합

문제 설명 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요. a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다. a와 b의 대소관계는 정해져있지 않습니다. 입출력 예 abreturn 3 5 12 3 3 3 5 3 12 풀이 class Solution { public long solution(int a, int b) { long answer = 0; if (a < b) { for (long i = a; i b) { for (long i = b; i

Programmers/Lv.1

[프로그래머스][Lv.1][Java] 정수 내림차순으로 배치하기

문제 설명 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건 n은 1이상 8000000000 이하인 자연수입니다. 입출력 예 n return 118372 873211 풀이 import java.util.*; class Solution { public long solution(long n) { String[] str = String.valueOf(n).split(""); Arrays.sort(str); StringBuilder sb = new StringBuilder(); for (String item : str) { sb.append(item); } ..

dbssk
K.Back-end