일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 장애물인식프로그램 파이썬
- 도커 컨테이너
- 파이썬 평범한배낭
- 백준 피아노체조
- CRUD
- 1987파이썬
- 백준 A->B
- 백준 등수매기기
- 피아노체조 파이썬
- 백준 점프 파이썬
- 백준 예산
- 백준 점프
- MySQL완전삭제
- 백준 전쟁-전투
- 프로그래머스
- 백준 바이러스
- 백준
- MongoDB
- jenkins
- 백준 전쟁 파이썬
- 백준알파벳파이썬
- 백준 평범한배낭
- 등수매기기 파이썬
- express
- 소프티어 장애물인식프로그램
- 소프티어 지도자동구축
- 금고털이 파이썬
- 지도자동구축 파이썬
- 파이썬데이터분석라이브러리
- express mongodb
- Today
- Total
목록Algorithms (99)
바위 뚫는중
문자열을 정수로 바꾸기 문제 설명 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. 제한 조건 s의 길이는 1 이상 5이하입니다. s의 맨앞에는 부호(+, -)가 올 수 있습니다. s는 부호와 숫자로만 이루어져있습니다. s는 "0"으로 시작하지 않습니다. 풀이 놀랍지만 겁먹었던 문제임 알고보니 부호는 Integer.parseInt로 해주면 String→Int 처리가 자유롭다는 깨달음을 얻음 class Solution { public int solution(String s) { int answer = 0; String arr[] = s.split(""); answer = Integer.parseInt(s); return answer; } } 가운데 글자 가져오기 문제 설명 단..
최소직사각형 문제 설명 명함 지갑을 만드는 회사에서 지갑의 크기를 정하려고 합니다. 다양한 모양과 크기의 명함들을 모두 수납할 수 있으면서, 작아서 들고 다니기 편한 지갑을 만들어야 합니다. 이러한 요건을 만족하는 지갑을 만들기 위해 디자인팀은 모든 명함의 가로 길이와 세로 길이를 조사했습니다. 아래 표는 4가지 명함의 가로 길이와 세로 길이를 나타냅니다. 명함 번호 가로 길이 세로 길이 1 60 50 2 30 70 3 60 30 4 80 40 가장 긴 가로 길이와 세로 길이가 각각 80, 70이기 때문에 80(가로) x 70(세로) 크기의 지갑을 만들면 모든 명함들을 수납할 수 있습니다. 하지만 2번 명함을 가로로 눕혀 수납한다면 80(가로) x 50(세로) 크기의 지갑으로 모든 명함들을 수납할 수 있..
문제 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다. 1478 → "one4seveneight" 234567 → "23four5six7" 10203 → "1zerotwozero3" 이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요. 참고로 각 숫자에 대응되는 영단어는 다음 표와 같습니다. 풀이 처음에 정말 이걸 어떻게 하나 별생각 다했는데 말도안되게 편리한.. replace를 쓰면 되었다.. ..
나머지가 1이 되는 수 찾기 문제 설명 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. 코드 //n을x로 나눈 class Solution { public int solution(int n) { int answer = 0; for(int i = 2; i < n; i++){ //나머지가 1이라면 if( n % i == 1) { answer = i; break; } } return answer; } } 약수의 합 문제 설명 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 코드 class Solution { pub..
https://school.programmers.co.kr/learn/courses/30/lessons/42577 난 아직 해시를 잘 몰라서… 겨우겨우 했다 https://siahn95.tistory.com/96 위 링크가 개념 익히는데에 좋은 것 같음 문제 문제 설명 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조대 : 119 박준영 : 97 674 223 지영석 : 11 9552 4421 전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으..
문제 문제 설명 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 → 의 순서로 문자열을 모두 제거할 수 있..