[백준_java] Hello World || 2557
·
🎯PS
www.acmicpc.net/problem/2557 2557번: Hello WorldHello World!를 출력하시오.www.acmicpc.netsysout 을 치고 ctrl + space를 하면 자동으로 system.out.println();가 완성된다. 백준에서 제출을 할 때 항상 class이름을 "Main"으로 해줄 것. ( 그렇지 않으면, 컴파일에러 발생)public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } }얘도 git에 올려보려는데,,,,,, 모르겠다............파일도 막 여러개 생기다 보니 더더욱..
[백준_python] 프린터 큐 || 1966
·
🎯PS
www.acmicpc.net/problem/1966 1966번: 프린터 큐여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에www.acmicpc.net큐는 선입선출의 형태, 각 문서들마다 중요도가 주어지는데, 중요도대로 출력할 수 있도록 하여야 한다. 따라서, 가장 맨 앞에 위치한 문서의 중요도를 확인하고, 나머지 문서에 중요도가 더 높은 것이 있다면, 빼고 다시 넣어주며 이를 반복하며 중요도 대로 출력되도록 해준다.import sys n, m = map(int, sys.stdin.readline().strip().split(' '))라고 해주어야하는데 int(inp..
[프로그래머스_python] 위장 || 42578
·
🎯PS
programmers.co.kr/learn/courses/30/lessons/42578 코딩테스트 연습 - 위장programmers.co.kr하 이 문제는 조합으로 푸는 문제라고 생각해서 해시까지는 구현해주었는데,,, 경우의 수를 이제 어떻게 구해주지?에서 막혔었다.....ㅠㅜ 옷의 종류가 a와 b가 있고 각각 2벌씩 있다면, 스파이가 입을 수 있는 옷의 경우의 수는 2 x 2 = 4가지 그러나, 스파이는 1개의 옷만 입는 경우가 있으므로, +1을 해주어 3x3 = 9가지 이 경우에는 아무것도 걸치지 않는 경우가 포함되어있으므로 -1을 해준다. def solution(clothes): a = {} for i in range(len(clothes)): if clothes[i][1] in a: a[cloth..
[프로그래머스_python] 전화번호 목록 || 42577
·
🎯PS
programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 - 전화번호 목록전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조programmers.co.kr진짜로............해시를 어떻게 이용해주어야 하는 건지,,,,,, 접두사만 어떻게 비교해주어야 하는건지......... ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ여러번 시도를 해주었었다. 결국에는 해시를 이용해주지 않고 문제를 풀어주었었는데, 접두사만 비교할 수 있는 함수가 따로 있었던 게 기억이 났다.. 시도를 안해주었었지만,, 오늘 해주었다! def solution(pb): #?실패한..
[백준_python] 동전 0 || 11047 (그리디 알고리즘)
·
🎯PS
11047번: 동전 0 (acmicpc.net) 11047번: 동전 0첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수)www.acmicpc.net그리디 알고리즘(Greedy): 가장 최선의 선택을 하는 기법 처음에 최선의 선택을 한 것이 최후에도 가장 최선의 선택이길 바라는 알고리즘 따라서, 모든 경우에서 그리디 알고리즘이 통하는 것이 아니다.#동전 0 n, k = map(int, input().split(' ')) coin = [] for i in range(n): coin.append(int(in..
[프로그래머스_python] 완주하지 못한 선수 || 42576
·
🎯PS
코딩테스트 연습 - 완주하지 못한 선수 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 완주하지 못한 선수수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수programmers.co.kr#완주하지 못한 선수 from collections import Counter def solution(p, c): p = Counter(p) c = Counter(c) answer = '' for person, cnt in p.items(): if p[person] != c[person]: answer += person return answer #######..
[백준_python] 국영수 || 10825
·
🎯PS
10825번: 국영수 (acmicpc.net) 10825번: 국영수첫째 줄에 도현이네 반의 학생의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 한 줄에 하나씩 각 학생의 이름, 국어, 영어, 수학 점수가 공백으로 구분해 주어진다. 점수는 1보다 크거나 같고, 1www.acmicpc.net#국영수 n = int(input()) arr = [] for i in range(n): a, b, c, d = input().split() arr.append((a, int(b), int(c), int(d))) arr.sort(key = lambda x : (-x[1], x[2], -x[3], x[0])) #-는 내림차순 for i in arr: print(i[0])
[백준_python] 다리 놓기 || 1010
·
🎯PS
1010번: 다리 놓기 (acmicpc.net) 1010번: 다리 놓기입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다.www.acmicpc.net원래 조합의 개수를 구할 때에는#조합의 개수 from itertools import combinations arr = [i for i in range(a)] result = list(combinations(arr, b)) print(len(result))이런식으로 모든 경우를 구하고 len으로 개수를 구해주겠지만, 더 간단하게 math모듈에 있는 comb()를 이용해주면 조합의 경우의 수를 구해줄 수 있다. 기억기억하기..
[백준_python] 그룹 단어 체커 || 1316
·
🎯PS
www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때www.acmicpc.net#그룹 단어 체커 n = int(input()) cnt = 0 for _ in range(n): s = list(input()) arr = [] no = 0 for i in range(len(s)): if s[i] in arr: if s[i-1] != s[i]: no += 1 break else: arr.append(s[i]) if no ==0: cnt += 1 print(cnt)기존..
[백준_python] 크로아티아 알파벳 || 2941
·
🎯PS
www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net아 기억난다 진짜 반례 엄청 찾아보면서 계속 값을 넣어봤었다. 정답이 잘 나오는 것 같아 보이지만, 다른 예시를 찾아다가 넣으면 값이 달라서 자꾸 헤맸었던 문제다.#크로아티아 알파벳 s = input() arr = ["c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="] #길이가 3개인 것도 있는 것에 주의하기 cnt = 0 n = 0 m = 3..