일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 코딩테스트
- programmers
- 명품 자바 프로그래밍
- 자바
- Codeup
- 단계별로 풀어보기
- GROUP BY 절
- Python 3
- SELECT 절
- 공공데이터
- 이론
- baekjoon
- java
- pypy3
- 개념
- 응용
- Java11
- 백준
- BOJ
- 기초
- HAVING 절
- SQLD / SQLP
- 기초100제
- Codeforces Round #802 (Div. 2)
- 기본
- JAVA 11
- level1
- 파이썬
- Python
- 헤드퍼스트 디자인패턴
- Today
- Total
목록baekjoon (66)
Development Project

문제 링크 : https://www.acmicpc.net/problem/2610 2610번: 회의준비 첫째 중에 회의에 참석하는 사람의 수 N이 주어진다. 참석자들은 1부터 N까지의 자연수로 표현되며 회의에 참석하는 인원은 100 이하이다. 둘째 줄에는 서로 알고 있는 관계의 수 M이 주어진다. 이 www.acmicpc.net 소요 시간 : 2시간 문제를 읽고 이해하기 제한 시간 : 1초 메모리 : 128MB 문제 회의에 참석하는 사람의 수(1≤N≤100), 서로 알고있는 관계의 수 M (관계이니까 최대 N-1개임) 서로 알고있는 사람은 같은위원회에 속해야하고, 위원회의 수는 최대가 되어야함 위원회마다 대표가 한명씩 있는데 각 위원회 회원들이 대표에게 의견전달이 가장 효율적으로 될수있도록 대표를 선정하는..

문제 링크 : https://www.acmicpc.net/problem/16724 16724번: 피리 부는 사나이 첫 번째 줄에 지도의 행의 수를 나타내는 N(1 ≤ N ≤ 1,000)과 지도의 열의 수를 나타내는 M(1 ≤ M ≤ 1,000)이 주어진다. 두 번째 줄부터 N개의 줄에 지도의 정보를 나타내는 길이가 M인 문자열이 주 www.acmicpc.net 소요 시간 : 3시간 (Union-Find 문제가 오랜만이라 구현에 시간을 많이 쏟았다..ㅜ 어려워어려워) 문제를 읽고 이해하기 제한 시간 : 1초 메모리 : 256MB 문제 지도의 행(1≤N≤1,000), 지도의 열(1≤M≤1,000) 영과일(?) 회원들이 지도의 각 방향에 따라 이동할때 모두가 SAFE ZONE에 들어갈 수 있게하는 SAFE Z..

문제 링크 : https://www.acmicpc.net/problem/1208 1208번: 부분수열의 합 2 첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 40, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다. www.acmicpc.net 소요 시간 : 1시간 40분 문제를 읽고 이해하기 제한 시간 : 1초 메모리 : 256MB 문제 N개의 정수(1≤N≤40), 더해서 얻고싶은 값 S(|S|≤1,000,000), N개의 크기를 가지는 수열 N개의 수열에서 얻을 수 있는 부분수열들 중 합이 S가 되는 경우의 수를 출력하는문제 이해 처음에 문제를 잘못 이해해서, 누적합+포인터로 구하..

문제 링크 : https://www.acmicpc.net/problem/1005 1005번: ACM Craft 첫째 줄에는 테스트케이스의 개수 T가 주어진다. 각 테스트 케이스는 다음과 같이 주어진다. 첫째 줄에 건물의 개수 N과 건물간의 건설순서 규칙의 총 개수 K이 주어진다. (건물의 번호는 1번부 www.acmicpc.net 소요 시간 : 1시간 문제를 읽고 이해하기 제한 시간 : 1초 메모리 : 512MB 문제 테스트 케이스 수 T개(T>0), 건물개수 N(2 BFS의 절차는 크게 아래와 같이 6가지로 볼 수 있다 위 각 수행문에 대해 어떤일이 있을 때 분기처리를 해줘야하는지 분석해보겠다. 큐에서 꺼내옴 목적지인가 - 위 문제에서는 필요없다 연결된 곳을 순회 해당 건물번호에 연결된 건물들은 인접리..

문제 링크 : https://www.acmicpc.net/problem/17359 17359번: 전구 길만 걷자 선린 친구들은 ✨인기스타 슈퍼인싸 예원쌤✨을 존경한다. 방학 동안 선생님을 뵐 수 없다니! 그래서 학생들은 방학식 날 💡전구 길만 걷자💡라는 엄청난 이벤트를 준비했다. 💡💡💡💡 www.acmicpc.net 소요 시간 : 2시간 30분 문제를 읽고 이해하기 제한 시간 : 1초 메모리 : 512MB 문제 전구 묶음 개수 N(1≤N≤10) 켜진 전구 : 1, 꺼진 전구 : 0 인 문자열로 입력을 줌 1->0, 0->1 이런 상태변화가 없을수록 좋은 배치 전구를 묶음(묶음은 순서변화 X)을 나열했을 때, 상태변화의 최소 횟수 출력하라는 문제 이해 전구 묶음안에서는 순서를 바꾸지 못하므로, 한 문자열(..

문제 링크 : https://www.acmicpc.net/problem/2018 2018번: 수들의 합 5 어떠한 자연수 N은, 몇 개의 연속된 자연수의 합으로 나타낼 수 있다. 당신은 어떤 자연수 N(1 ≤ N ≤ 10,000,000)에 대해서, 이 N을 몇 개의 연속된 자연수의 합으로 나타내는 가지수를 알고 싶어한 www.acmicpc.net 소요 시간 : 1시간 문제를 읽고 이해하기 제한 시간 : 2초 메모리 : 32MB 문제 정수 N을 연속된 숫자의 합으로 나타낼 수 있는 경우의 수를 출력하는 문제 이해 15라는 숫자가 N에 입력되었다면, 15와 7+8, 4+5+6, 1+2+3+4+5 즉, 4가지 방식으로 나타낼 수 있으므로 답은 4가 된다. 문제를 익숙한 용어로 재정의와 추상화 입출력 예제에 있..

문제 링크 : https://www.acmicpc.net/problem/23810 23810번: 골뱅이 찍기 - 뒤집힌 ㅋ 서준이는 아빠로부터 골뱅이가 들어 있는 상자를 생일 선물로 받았다. 상자 안에는 뒤집힌 ㅋ자 모양의 골뱅이가 들어있다. 뒤집힌 ㅋ자 모양은 가로 및 세로로 각각 5개의 셀로 구성되어 있다. www.acmicpc.net 소요 시간 : 7분 정답 코드 import java.io.*; import java.util.*; public class Main{ static int N; static String[] f = {"@@@@@","@","@@@@@","@","@"}; static StringBuilder sb = new StringBuilder(); public static void ma..

문제 링크 :https://www.acmicpc.net/problem/2153 2153번: 소수 단어 소수란 1과 자기 자신으로만 나누어떨어지는 수를 말한다. 예를 들면 1, 2, 3, 5, 17, 101, 10007 등이 소수이다. 이 문제에서는 편의상 1도 소수로 하자. 알파벳 대소문자로 이루어진 영어 단어가 하나 www.acmicpc.net 소요시간 : 30분 정답코드 import java.util.*; import java.io.*; public class Main{ static String input; static int num=0; static boolean[] isNotPrime; // 52*20 = 1040 public static void main(String[] args) throws ..

문제 링크 : https://www.acmicpc.net/problem/15989 15989번: 1, 2, 3 더하기 4 정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 4가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다. 합을 이루고 있는 수의 순서만 다른 것은 같은 것으로 친다. 1+1+1+1 2+1+1 (1+1+2, 1+2+1) 2+2 www.acmicpc.net 소요 시간 : 1시간 38분 문제를 읽고 이해하기 제한 시간 : 1초 메모리 : 512MB 문제 테스트 케이스 수 T개(T>0), 정수 n(0 1개, 가장 큰수가 2인 수는 211, 22 -> 2개, 가장 큰수가 3인 수는 31 -> 1개 ※ 가장 큰수가 2인 경우는, N(4)에서 2를 뺀 2 즉. N이 2일때 케이스에서..

문제 링크 : https://www.acmicpc.net/problem/2738 2738번: 행렬 덧셈 첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같 www.acmicpc.net 소요 시간 : 8분 정답코드 import java.util.*; import java.io.*; public class Main{ static int N,M; static int[][] map1, map2; static StringBuilder sb = new StringBuilder(); public static void main(String[] args) throw..

문제 링크 : https://www.acmicpc.net/problem/16439 16439번: 치킨치킨치킨 첫 번째 줄에 고리 회원의 수 N (1 ≤ N ≤ 30) 과 치킨 종류의 수 M (3 ≤ M ≤ 30) 이 주어집니다. 두 번째 줄부터 N개의 줄에 각 회원의 치킨 선호도가 주어집니다. i+1번째 줄에는 i번째 회원의 선 www.acmicpc.net 소요 시간 : 2시간 5분 문제를 읽고 이해하기 제한 시간 : 1초 메모리 : 128MB 문제 N명(1≤N≤30)의 회원, 치킨의 종류는 M개(3≤M≤30) 회원마다 특정 치킨의 선호도(ai,1, ai,2, ..., ai,M (1 ≤ ai,j ≤ 9)) 존재 회원의 만족도는 주문한 치킨의 가장 큰 선호도값 목적 : 최대 3가지 종류의 치킨을 시킬때, ..
15649 : N과 M(1) def solve(depth, N, M): if depth==M: print(' '.join(map(str,out))) return else: for i in range(len(visited)): if not visited[i]: visited[i]=True out.append(i+1) solve(depth+1,N,M) visited[i]=False out.pop() N,M=map(int,input().split()) visited=[False]*N out=[] solve(0,N,M) 15650 : N과 M(2) N,M=map(int,input().split()) out=[] def solve(start): if len(out)==M: print(' '.join(map(str..
5086 : 배수와 약수 while True: a,b=map(int,input().split()) if a==0 and b==0: break print("factor" if b%a==0 else ("multiple" if a%b==0 else "neither")) 1037 : 약수 n=int(input()) l=list(map(int,input().split())) l.sort() print(l[0]*l[-1]) 2609 : 최대공약수와 최소공배수 l=list(map(int,input().split())) lcf=1;ok=0 minVal=min(l) for i in range(2,minVal+1): while True: if l[0]%i==0 and l[1]%i==0: lcf*=i l[0]//=i l[1..
1085 : 직사각형에서 탈출 x,y,w,h=map(int,input().split()) print(min([abs(x-w),abs(y-h),abs(x),abs(y)])) 3009 : 네 번째 점 l=[] for _ in range(3): l.extend(map(int,input().split())) odd=l[0::2] even=l[1::2] print(min(odd) if odd.count(min(odd))==1 else max(odd), min(even) if even.count(min(even))==1 else max(even)) 4153 : 직각삼각형 while True: l=list(map(int,input().split())) if l[0]==0 and l[1]==0 and l[2]==0: ..
10815 : 숫자 카드 import sys n = int(sys.stdin.readline().strip()) getNum = set(map(int,sys.stdin.readline().split())) m = int(sys.stdin.readline().strip()) checkNum = list(map(int,sys.stdin.readline().split())) for i in checkNum: if i in getNum: print(1) else: print(0) # import sys N = int(sys.stdin.readline().rstrip('\n')) numbers = set(map(int, sys.stdin.readline().rstrip('\n').split())) M = int(..
2750 : 수 정렬하기 n=int(input()) l=[int(input()) for _ in range(n)] for i in range(n): print(sorted(l)[i]) 2751 : 수 정렬하기 2 import sys arr=[int(sys.stdin.readline().rstrip()) for i in range(int(input()))] arr.sort() for i in arr: sys.stdout.write(str(i)+'\n') 10989 : 수 정렬하기 3 from sys import stdin input = stdin.readline().strip N = int(input()) numbers = [] for i in range(10001): numbers.append(0) fo..
2798 : 블랙잭 from itertools import combinations a,b=map(int,input().split()) l=list(map(int,input().split()))[0:a] max=0 for i in list(combinations(l,3)): s=i[0]+i[1]+i[2] if s
10872 : 팩토리얼 def factorial(n): if n==0 or n==1: return 1 return n*factorial(n-1) print(factorial(int(input()))) 10870 : 피보나치 수 5 def fib(num): if num=k+1: print(f'{"____"*k}"재귀함수가 뭔가요?"\n{"____"*k}"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.\n{"____"*k}마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지.\n{"____"*k}그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어."') st(k+1,n) print(f'{"____"*k}라고..
1978 : 소수 찾기 n=int(input()) l=list(map(int,input().split())) cnt=0 for i in l[:n]: if i==1: continue ok=0 for j in range(1,i+1): ok+=1 if i%j==0 else 0 cnt+=1 if ok==2 else 0 print(cnt) 2581 : 소수 m,n=int(input()),int(input());num=m;l=[] while num>=m and num
1712 : 손익분기점 a,b,c=map(int, input().split()) print(-1 if b>=c else a//(c-b)+1) # a,b,c=map(int, input().split());print(-(b>=c)or a//(c-b)+1) 2292 : 벌집 n=int(input()) sum=1 for i in range(1,n+1): if sum>=n or n==1: print(i) break sum+=6*i # n = int(input()) a = 1 b = 1 while n > a: a += 6*b b+=1 print(b) 1193 : 분수찾기 a = int(input()) b=0 while a>0: b+=1 a-=b a+=b b+=1 if b%2==0: print(f"{b-a}/{a}"..