목록Algorithm (58)
개발일기
https://www.acmicpc.net/problem/1148 package src.Week8.Baekjoon1148; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashSet; import java.util.Set; public class Baekjoon1148 { static int MAX_COUNT= 200000; static int A_TO_Z = 26; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new Inp..
문제 설명 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 phone_number는 길이 4 이상, 20이하인 문자열입니다. 입출력 예phone_numberreturn "01033334444" "*******4444" "027778888" "*****8888" class Solution { public String solution(String phone_number) { int length = phone_number.length(); StringBuilder sb = n..
https://school.programmers.co.kr/learn/courses/30/lessons/86051 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 푼 코드 import java.util.*; class Solution { public int solution(int[] numbers) { int answer = -1; boolean []bool = new boolean[10]; for(int num : numbers){ bool[num] = true; } int sum = 0; for(int i=0; i0? sum : answer; } ..

https://www.acmicpc.net/problem/5427 5427번: 불 상근이는 빈 공간과 벽으로 이루어진 건물에 갇혀있다. 건물의 일부에는 불이 났고, 상근이는 출구를 향해 뛰고 있다. 매 초마다, 불은 동서남북 방향으로 인접한 빈 공간으로 퍼져나간다. 벽에 www.acmicpc.net 여기서 보이듯 한번에 동서남북 방향으로 퍼져 나갈 수 있는 것이 키포인트이다. 이 부분을 글귀를 보고 이해 못해서.. 한참동안 못풀었다...ㅠ 또한 각각 fire , person을 Queue를 두개를 가지고 이동시켜주어야 한다. package src.week4.Baekjoon5427; import java.io.BufferedReader; import java.io.IOException; import java..

1. 예시) 1번과 3번을 가진 CCTV를 가진 사무실이 있으면 4가지 x 4가지의 방향 가지수로 16가지라는 경우의 수가 나온다. 이런 경우 2번과 5번은 방향의 가지수가 있으며 각각의 CCTV는 방향이 다르기 때문에 순서가 중요하여 순열로 구해야 한다. 2. 순열이란 n개의 값중에서 r개의 숫자를 순서대로 뽑는 경우를 말한다. 3. 각각의 CCTV는 각각의 다른 방향이 있으며 각각의 cctv의 위치와 몇번 cctv인지 판단할 필드값을 가지는 클래스를 하나 만들어준다. 4. 순열을 담아줄 배열을 하나 만들어주어 output을 cctv개수만큼 담을 배열을 선언해준다. 5. 순열 함수를 만들어 주어, 각각의 경우의 수에 대한 copymap을 구해준다. 여기서 copymap을 해주는 이유는 방향에따른 맵을 ..
문제 설명 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될 때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2로 나눕니다. 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다. 예를 들어, 주어진 수가 6이라면 6 → 3 → 10 → 5 → 16 → 8 → 4 → 2 → 1 이 되어 총 8번 만에 1이 됩니다. 위 작업을 몇 번이나 반복해야 하는지 반환하는 함수, solution을 완성해 주세요. 단, 주어진 수가 1인 경우에는 0을, 작업을 500번 반복할 때까지 1이 되지 않는다면 –1을 반환해 주세요. 제한 사항 입력..
문제 설명 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 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..
문제 설명 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다. 전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 학생의 최댓값을 return 하도록 solution 함수를..