일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 파이썬 평범한배낭
- jenkins
- CRUD
- 백준 평범한배낭
- express mongodb
- MySQL완전삭제
- 파이썬데이터분석라이브러리
- 백준 등수매기기
- 백준 바이러스
- 1987파이썬
- 금고털이 파이썬
- 백준 예산
- 백준
- 소프티어 지도자동구축
- 프로그래머스
- 등수매기기 파이썬
- 소프티어 장애물인식프로그램
- 장애물인식프로그램 파이썬
- 백준 피아노체조
- 피아노체조 파이썬
- 도커 컨테이너
- 지도자동구축 파이썬
- 백준 점프 파이썬
- 백준 점프
- 백준 A->B
- MongoDB
- 백준 전쟁-전투
- express
- 백준 전쟁 파이썬
- 백준알파벳파이썬
- Today
- Total
목록Algorithms (99)
바위 뚫는중
올바른 괄호 문제 설명 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 "()()" 또는 "(())()" 는 올바른 괄호입니다. ")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다. '(' 또는 ')' 로만 이루어진 문자열 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);..
D4 - 도움많이받고품 ^^,, https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV141J8KAIcCFAYD package swea1232; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; //기본 클래스 public class Solution { //사용할 Node 클래스 만들어줌 static class Node { int value; char opr; int left = -1, right = -1; // 생성자 public Node(i..

11866 요세푸스 문제 0 생각 정리 1번부터 N번까지 N명의 사람이 앉아있음, K번째 사람을 순서대로 제거 원을 따라 계속해서 이 과정이 반복됨 원에서 사람들이 제거되는 순서를 N-K 요세푸스 순열 이라함 7, 3 요세푸스 순열은 3, 6, 2, 7, 5, 1, 4 이라함 N과 K가 주어지면 (N, K) 요세푸스 순열을 구하는 프로그램 ⇒ 이게 3제거하고 다시 1,2,4여서 4제거하고 이런식이 아니라, 3을 제거하고 그뒤로 4,5,6이면 6이 3번째니 6을 제거하는 식 그리고 7,1,2가오니 2를 제거 1,2,3,4,5,6,7 KILL3 1,2,4,5,6,7 KILL 6 1,2,4,5,7 KILL 2 1,4,5,7 KILL 7 1,4,5 KILL 5 1,4 KILL 1 4 KILL 4 약간 이런 식이..

🔑 18258 큐 2 먼저, 큐와 스택의 차이점을 알아야 풀수있다. 스택: 후입 선출 / 큐: 선입 선출 스택은 top에서 삽입되고 top에서 삭제되지만, 큐는 한쪽(front)에선 삽입, 반대(read)쪽에선 삭제가 이루어짐 큐의 삽입연산: 인큐, 삭제연산: 디큐 이것만 알면 리스트 이용해서 구현은 금방한다. 문제는 시간초과 남. 시간초과 났던 코드 # 큐2 import sys n = int(sys.stdin.readline().rstrip()) queue2 = [] def push(x): queue2.append(x) def pop(): if queue2: return queue2.pop(0) else: return -1 def size(): return len(queue2) def empty(): ..

백준 1874 스택 수열 이게 뭔소린가 했더니 내가 8까지의 수를 스택에 넣는다 쳤을때, 4, 3, 6, 8, 7, 5, 2, 1이 주어지는데, 스택을 이용해서 이 수열을 만들수 있냐는게 이 문제다. 문제 말이 어렵다. 여튼 저 수열을 만들어보자. 1,2,3,4 push 4,3을 pop 1,2,5,6 push 6 pop 1,2,5,7,8 push 8,7 pop 1,2,5 pop → 4,3,6,8,7,5,2,1 1에서 주어진 n까지 내가 원하는 수를 찾으면 pop, 찾지 못하면 push 하는 것이 원리인듯하다! 그래서 여튼 저 수열을 만들라면 4가 나와야하니까 4까지는 수를 집어넣어야한다 주어진 수가 4보다 작으면 스택에 넣는다. 1부터 시작이니 1부터 3까지는 넣어줌! 변수를 이용해보자 주어진 수가 4라..

🔑 백준 괄호 9012 생각 정리 한 쌍의 괄호 ( , ) → ( 아무거나 ) = VPS 라고 부름 괄호가 열리고 닫혀야 YES!! ‘ ) ‘ 이걸로 문자열이 시작되면 안됨 ‘ ( ’ 이걸로 문자열이 시작되는 경우의 수를 생각해보자,, ‘ ( ’ 이걸로 끝나면 어차피 안됨 ‘ ) ’ 이걸로 끝나는 경우의 수 = 시작괄호 ’ ( ’ 끝괄호가 ‘ ) ’ 인 경우 ‘ ( ’ 와 ‘ ) ’의 숫자가 동일해야 함 ‘ ( ’ 일때 +1 , ‘ ) ’ 일때 -1 이라고 가정하자 ((()) 일 경우, +1 → X (((()()()))) 일 경우, 0 → O ()) 일 경우, -1 → X 즉, 무조건 0이 나와야만 문제가 해결됨으로 카운트로 풀어낼 수 있을 듯하다. → 코드 1 스택 문제이기 때문에, ‘ ( ’일 경우 ..