본문 바로가기

분류 전체보기

(328)
[백준] 2866번 : 문자열 잘라내기 2866번: 문자열 잘라내기 2866번: 문자열 잘라내기 첫 번째 줄에는 테이블의 행의 개수와 열의 개수인 R과 C가 주어진다. (2 ≤ R, C ≤ 1000) 이후 R줄에 걸쳐서 C개의 알파벳 소문자가 주어진다. 가장 처음에 주어지는 테이블에는 열을 읽어서 문자 www.acmicpc.net 📄 문제개요 R개의 행과 C개의 열로 주어진 테이블이 입력으로 주어진다. 이 테이블의 원소는 알파벳 소문자이다. 각테이블의 열을 위에서 아래로 읽어서 하나의 문자열로 만들 수 있다. 2 ≤ R, C ≤ 1000 🤔 문제분석 문자는 최대 1000개와 문자의 길이는 1000을 갖을 수 있다. 완전탐색의 경우 최악의 경우 O($N^3$)이다. 최악의 경우 1000번 반복하는데, 모든 문자의 중복을 확인( 1000 * 10..
[백준] 1920번 : 수 찾기 1920번: 수 찾기 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 📄 문제개요 N개의 정수 A[1], A[2], …, A[N]이 주어져 있을때, 이 안에 X라는 정수가 존재하는지 알아내는 프로그램을 작성하시오. M개의 쿼리가 주어졌을때 해당 쿼리가 존재하면 1 존재하지 않으면 0을 출력하시오. 1≤ N ≤ 100,000, 1 ≤ M ≤ 100,000 -2^31 ≤ A[i] ≤ 2^31 🤔 문제분석 O(N*M)으로 완전탐색으로 해당값이 있는지 탐색 할 수 있다..
[프로그래머스] 2020 Kakao Blind Recuritment : 가사 검색 https://school.programmers.co.kr/learn/courses/30/lessons/60060 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📄 문제개요 검색 할 대상이 되는 문자열이 주어지고, 쿼리가 주어진다. 해당 쿼리를 검색 할 대상에서 매칭되는 개수를 카운팅하여 결과를 출력한다. 예를들어 for??의 쿼리가 주어지면 [frodo, front, forst] 에 매칭이 되어 3값일 출력해야한다. 🤔 문제분석 문자열을 정렬하게되면 문자열이 a,b,c,d…z 순서대로 오름차순으로 정렬이 된다. 정렬된 문자열을 기준으로 for?? 를 찾..
[백준] 10825번 : 국영수 [백준] 10825번 : 국영수 10825번: 국영수 10825번: 국영수 첫째 줄에 도현이네 반의 학생의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 한 줄에 하나씩 각 학생의 이름, 국어, 영어, 수학 점수가 공백으로 구분해 주어진다. 점수는 1보다 크거나 같고, 1 www.acmicpc.net 📄 문제개요 학생들의 이름과, 국어, 영어, 수학 점수가 주어졌을때, 다음과 같은 조건으로 성적을 정렬하는 프로그램을 작성하세요. 국어가 감소하는 순서로 국어 점수가 같으면 영어 점수가 증가하는 순서로 국어 점수와 영어점수가 같으면 수학점수가 감소하는 순서로 모든 점수가 같으면 사전 순으로 증가하는 순서로 (단, 아스키코드에서 대문자는 소문자보다 작으므로 사전 순으로 앞에 옵니다. ) 🤔 ..
[백준] 7453번 : 합이 0인 네 정수 [백준] 7453번 : 합이 0인 네 정수 7453번: 합이 0인 네 정수 7453번: 합이 0인 네 정수 첫째 줄에 배열의 크기 n (1 ≤ n ≤ 4000)이 주어진다. 다음 n개 줄에는 A, B, C, D에 포함되는 정수가 공백으로 구분되어져서 주어진다. 배열에 들어있는 정수의 절댓값은 최대 228이다. www.acmicpc.net 📄 문제개요 정수로 이루어진 크기가 같은 배열 A, B, C D 가 있다. A[a], B[b], C[c], D[d] 합이 0인 (a,b,c,d) 쌍의 개수를 구하는 프로그램을 작성하시오. 배열의 크기는 n ( 1≤ n ≤ 4000) 이고, 배열에 들어있는 정수 절대값은 최대 2^28이다. 🤔 문제분석 해당문제는 4000 x 4000 x 4000 x 4000 의 경우의 수..
[백준] 20058번 : 마법사 상어와 파이어스톰 [백준] 20058번 : 마법사 상어와 파이어스톰 https://www.acmicpc.net/problem/20058 20058번: 마법사 상어와 파이어스톰 마법사 상어는 파이어볼과 토네이도를 조합해 파이어스톰을 시전할 수 있다. 오늘은 파이어스톰을 크기가 2N × 2N인 격자로 나누어진 얼음판에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c www.acmicpc.net 📄 문제개요 2^Nx2^N인 격자로 나누어진 얼음판이 존재한다. 해당 얼음판에서 2^Lx2^L크기의 부분격자로 나눈뒤 모든 부분 격자를 시계 방향으로 90도 회전시킨다. 회전시킨후 각자의 위치에서 주변의 얼음이 3개 이하인경우 그자리에 있는 얼음을 녹인다. L 만큼 부분격자를 나누라는 명령이 Q번 주어진다. 출력으로는 첫재쭐에 ..
[Hacker Rank] Magic Squre 해당 문제는 n이 3인 완전 탐색문제로 모든 경우의 수를 순열로 구한뒤, 가로, 세로, 대각선의 합이 일치하는지 확인후 일치한다면 이전 그래프와 차이점을 계산하여 최소값을 구하면 된다. import sys input = sys.stdin.readline s = [] for _ in range(3): s.append(list(map(int, input().split()))) def check(s): colsum = s[0][0] + s[1][0] + s[2][0] rowsum = sum(s[0]) cross1 = s[0][0] + s[1][1] + s[2][2] cross2 = s[0][2] + s[1][1] + s[2][0] for i in range(3): # check raw and col if i ..
[백준] 2533번 : 사회망 서비스(SNS) 2533번: 사회망 서비스(SNS) 해당 문제는 노드를 방문해가면서 해당 노드가 얼리어뎁터일때와 얼리어뎁터가 아닐때에서의 최소값을 구하여 문제를 해결하면 된다. 자기자신이 얼리어뎁터가 아닌경우 - 친구들은 반드시 얼리어뎁터 이어야한다. 자기자산이 얼리어뎁터인경우 - 친구들은 얼리어뎁터가 아니거나 얼리어뎁터 일 수도 있다. 아래와 같은 점화식이 형성된다. 💡 dp[node][0] += dp[friend][1] 자기자신이 얼리어뎁터가 아닌경우 💡 dp[node][1] += min(dp[friend][1], dp[friend][0]] 자기자신이 얼리어뎁터인경우 import sys sys.setrecursionlimit(10 ** 9) N = int(input()) graph = [[] for _ in rang..