일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |
- 백준 점프 파이썬
- MongoDB
- CRUD
- 프로그래머스
- 소프티어 지도자동구축
- 백준 피아노체조
- jenkins
- 백준 점프
- 백준 바이러스
- 피아노체조 파이썬
- 금고털이 파이썬
- 등수매기기 파이썬
- 지도자동구축 파이썬
- 도커 컨테이너
- 1987파이썬
- 백준 평범한배낭
- 백준 A->B
- 파이썬 평범한배낭
- 백준 전쟁-전투
- 파이썬데이터분석라이브러리
- 장애물인식프로그램 파이썬
- 백준
- MySQL완전삭제
- express mongodb
- 백준 등수매기기
- 백준알파벳파이썬
- 소프티어 장애물인식프로그램
- express
- 백준 전쟁 파이썬
- 백준 예산
- Today
- Total
목록분류 전체보기 (137)
바위 뚫는중
문제 문제 설명 0과 1로 이루어진 어떤 문자열 x에 대한 이진 변환을 다음과 같이 정의합니다. x의 모든 0을 제거합니다. x의 길이를 c라고 하면, x를 "c를 2진법으로 표현한 문자열"로 바꿉니다. 예를 들어, x = "0111010"이라면, x에 이진 변환을 가하면 x = "0111010" -> "1111" -> "100" 이 됩니다. 0과 1로 이루어진 문자열 s가 매개변수로 주어집니다. s가 "1"이 될 때까지 계속해서 s에 이진 변환을 가했을 때, 이진 변환의 횟수와 변환 과정에서 제거된 모든 0의 개수를 각각 배열에 담아 return 하도록 solution 함수를 완성해주세요. 풀이 재귀를 이용해서 풀었는데,, 생각보다 고려할게 너무 많아서 전혀 쉽지 않았음,, import java.uti..
같은 숫자는 싫어 프로그래머스 AI가 추천해준 구현 겸 스택, 큐 문제 https://school.programmers.co.kr/learn/courses/30/lessons/12906 문제 문제 설명 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면, arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다. arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다. 배열 arr에서 연속적으로 나타나는 숫자..
https://school.programmers.co.kr/learn/courses/30/lessons/42626 카테고리가 큐로 주어졌기에 아주 쉽게 접근했지만, 만약 그렇지 않는다면 접근하는데 시간이 걸렸을 것 같음! 런타임 에러난 코드 import java.util.*; class Solution { public int solution(int[] scoville, int K) { int answer = 0; PriorityQueue queue = new PriorityQueue(); //우선순위 큐로 작은 수 부터 정렬해준다 for(int i = 0; i < scoville.length; i++){ queue.add(scoville[i]); } //맨앞자리를 peek로 확인해서 k보다 작다면 연산을..
문자열 내림차순으로 배치하기 문제 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 제한 사항 str은 길이 1 이상인 문자열입니다. 풀이 문자열에서 sort하면 큰거부터 나열되고, reverseOrder 이용시 작은알파벳부터 나열된다 split으로 Character하나씩 배열에 넣고, 이를 빈 스트링에 하나씩 더해주어 반환 import java.util.*; class Solution { public String solution(String s) { String answer = ""; String[] chs = s.split(""); Arrays...
https://school.programmers.co.kr/learn/courses/30/lessons/12973 짝지어 제거하기 문제 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다. 이 과정을 반복해서 문자열을 모두 제거한다면 짝지어 제거하기가 종료됩니다. 문자열 S가 주어졌을 때, 짝지어 제거하기를 성공적으로 수행할 수 있는지 반환하는 함수를 완성해 주세요. 성공적으로 수행할 수 있으면 1을, 아닐 경우 0을 리턴해주면 됩니다. 예를 들어, 문자열 S = baabaa 라면 b aa baa → bb aa → aa → 의 순서로 문자열을 모두 제거할 수 있..
올바른 괄호 문제 설명 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 "()()" 또는 "(())()" 는 올바른 괄호입니다. ")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다. '(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요. 제한사항 문자열 s의 길이 : 100,000 이하의 자연수 문자열 s는 '(' 또는 ')' 로만 이루어져 있습니다. 풀이 파이썬으로 예전에 풀었었는데,, 스택을 이용하는게 옳을듯 스택을 이용해서 괄호일 경우 push 그렇지 않을 경우는 ..
최솟값 만들기 https://school.programmers.co.kr/learn/courses/30/lessons/12941 문제 길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다. 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱한 값을 누적하여 더합니다. 이때 최종적으로 누적된 값이 최소가 되도록 만드는 것이 목표입니다. (단, 각 배열에서 k번째 숫자를 뽑았다면 다음에 k번째 숫자는 다시 뽑을 수 없습니다.) 예를 들어 A = [1, 4, 2] , B = [5, 4, 4] 라면 A에서 첫번째 숫자인 1, B에서 첫번째 숫자인 5를 뽑아 곱하여 더합니다. (누적된 값 : 0 + 5(1x5) = 5)..
프로그래머스로 코테연습을 안해서 레벨 2 정답률 순으로 풀어보려함. 문제는 알고리즘이 아니라 매개변수로 받아오는 것을 변환하는 방법을 숙지해야할듯! 자바는 너무어려워!! 조금씩 백준과 병행하려한다. 근데 난 백준이 더 좋다.. 이유는 모르겠지만 최댓값과 최솟값 https://school.programmers.co.kr/learn/courses/30/lessons/12939 문제 문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요. 예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다. 제한 조건..
https://www.acmicpc.net/problem/11724 시간제한: 3초 레벨: 실2 연결요소? → 에지로 연결된 노드의 집합으로, 한 번의 DFS가 끝날 때까지 탐색한 노드의 집합을 하나의 연결 요소로 판단할 수 있음 풀이 선언, 입출력 static ArrayList[] A; static boolean visited[]; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int n = Integer.par..
https://www.acmicpc.net/problem/1931 난이도 - 실버1 풀이 최대 사용할 수 있는 회의의 최대 개수를 위해서는 시간이 겹치지 않는 선에서 이를 수행해야 하고, 그렇다면 끝나는 시간이 같으면 시작 시간이 늦고(회의 시간이 짧음), 끝나는 시간이 다르다면 더 빨리 끝나는 시간의 회의를 수행해야 한다. 코드 import java.util.Arrays; import java.util.Comparator; import java.util.Scanner; public class Main { static int N; static int [][] arr; public static void main(String[] args) { Scanner sc = new Scanner(System.in);..