반응형

분류 전체보기 135

[C++ 기초] int, float, char, bool

판다코딩 - [하루 10분 C++] 누구나 쉽게 배우는 C++ 프로그래밍 입문을 참고하여 작성했습니다. 📌 정수형 자료형(int, short, long, long long) #include int main() { int n_int = INT_MAX; short n_short = SHRT_MAX; long n_long = LONG_MAX; long long n_llong = LLONG_MAX; return 0; } #include : climits에는 INT_MAX와 같은 상수들이 미리 정의되어 있습니다. 1. INT_MAX: int형에서 최댓값 2. SHRT_MAX: short형에서 최댓값 3. LONG_MAX: long형에서 최댓값 4. LLONG_MAX: long long형에서 최댓값 📌 sizeof..

C++ 2023.12.29

백준 DP - 스티커(파이썬)

https://www.acmicpc.net/problem/9465 9465번: 스티커 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 n (1 ≤ n ≤ 100,000)이 주어진다. 다음 두 줄에는 n개의 정수가 주어지며, 각 정수는 그 위치에 해당하는 스티커의 www.acmicpc.net 스티커에는 2행 n열 배열로 이루어져 있는데 저는 1행에서의 큰 값과 2행에서의 큰 값을 비교하면서 두 변을 공유하는 데이터에는 -1로 변경해 주면서 사용할 수 있는 스티커들만 골랐습니다. 정답은 맞혔지만 문제에서는 시간초과로 실패하고 말았습니다.. T = int(input()) def match(dp, row, idx): if(idx > 0 and idx < n-1): dp[row][..

코딩테스트 2023.11.27

백준 DP - 이친수(파이썬)

https://www.acmicpc.net/problem/2193 2193번: 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않 www.acmicpc.net 드디어! 혼자 힘으로 풀었습니다😆 DP를 풀다 보니 이제는 요령이란 게 생긴 것 같습니다. 이친수라는 문제는 1과 0으로 이루어진 숫자를 의미하는데 두 가지 조건을 지켜야만 합니다. 첫 번째, 0으로 시작하면 안 된다. 두 번째, 1이 두 번 연속 있으면 안 된다. 그래서 저는 숫자의 일의 자리가 0일 때와 1일 때를 구분해서 값을 넣어주었더니 메모리 초과로 실패했습니다.. n = in..

코딩테스트 2023.11.27

백준 DP 문제 - 2xN 타일링 만들기 (파이썬)

https://www.acmicpc.net/problem/11726 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net 11726번은 규칙을 찾지 못해 결국 선생님의 도움을 받아서 해결했습니다..!!!! 저는 문어박사 IT편의점 님의 영상을 참고해서 공부했습니다. 2X1과 2X2 타일은 정해져 있기 때문에 따로 연산 필요 없이 직접 계산해서 각각 1, 2가 되었습니다. 이제 3부터 규칙을 정해야 합니다. 3에서는 2X2에 있는 타일에 2X1타일을 붙여놓은 것과 2X1에 있는 타일에 2X2타일을 붙여놓은 것을 합친 개수가 됩니다. 4는 ..

코딩테스트 2023.11.25

백준 DP 문제 - 1로 만들기 (파이썬)

https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 1463번은 DP의 가장 기초적인 문제라고 했지만 어떻게 풀어야 할지 감도 못 잡겠어서 여러 블로그를 참고해 봤지만 역시 이해에는 영상이 최고인 것 같다는 생각이 듭니다. 저는 문어박사 IT편의점 님의 영상을 참고해서 공부했습니다. 1은 그냥 1이므로 따로 연산을 수행할 필요가 없으니 횟수는 0이 됩니다. 그럼 이제 2가 될 때는 +1과 *2와 *3인 경우를 봐야 합니다. 먼저 +1인 경우에는 x+1=2이므로 x는 1이 됩니다. 이때 1의 횟수와 현재 연산을 수행한 횟수 1을 더해서 1이 됩니다. *2인 경우에..

코딩테스트 2023.11.25

백준 for문 문제 - 최소, 최대 구하기(파이썬)

https://www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net 10818번은 입력한 숫자들 중에서 최소, 최대를 찾아 출력하는 문제입니다. 그래서 저는 이중 for문을 사용해서 배열을 오름차순 정렬이 되도록 한 다음 인덱스 0번과 -1번을 출력할 생각이었습니다. 하지만 시간초과로 실패를 하게 되었습니다.. count = int(input()) arrList = list(map(int, input().split())) for..

코딩테스트 2023.11.25

백준 for문 문제 - 날짜 계산하기(파이썬)

https://www.acmicpc.net/problem/1924 1924번: 2007년 첫째 줄에 빈 칸을 사이에 두고 x(1 ≤ x ≤ 12)와 y(1 ≤ y ≤ 31)이 주어진다. 참고로 2007년에는 1, 3, 5, 7, 8, 10, 12월은 31일까지, 4, 6, 9, 11월은 30일까지, 2월은 28일까지 있다. www.acmicpc.net 1924번은 for문으로 날짜에 맞는 요일을 출력하는 문제입니다. 저는 날짜를 구하는 방법조차 찾지 못해서 다른 분들의 코드를 보고 완전히 이해하려고 노력했고, 성공적으로 코드를 구현할 수 있었습니다. 3월 15일날의 요일이 궁금하다면 1, 2월의 날짜 전체를 더한 후, 15를 더하고 7로 나눈 나머지가 요일이 됩니다. 7로 나눈 이유는 한 주가 7일이기 ..

코딩테스트 2023.11.25

백준 입출력 문제 - len() 활용(파이썬)

https://www.acmicpc.net/problem/11721 11721번: 열 개씩 끊어 출력하기 첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다. www.acmicpc.net 11721번은 입력된 문자열을 10개씩 잘라서 출력하라는 문제였습니다. 저는 문자열을 10개씩 자르고 문자열의 전체 길이를 넘어서면 반복문을 종료하도록 코드를 구현했습니다. text = input() for i in range(0, text.length, 10): print(text[i:i+10]) JS만 사용하다가 파이썬을 사용하니 문자열 길이에 .length를 사용하는 일이 벌어졌습니다.. 파이썬에서는 문자열이나 배열 길이..

코딩테스트 2023.11.25

백준 입출력 문제 - EOFError 활용하기(파이썬)

https://www.acmicpc.net/problem/11719 11719번: 그대로 출력하기 2 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄이 주어질 수도 있고, 각 줄의 앞 뒤에 공백이 www.acmicpc.net 11719번은 빈 줄도 입력해야 되고 공백도 입력되어야 하기 때문에 어떻게 하면 좋을지 고민하다가 입력은 최대 100줄이라고 해서 아래처럼 100번 반복해서 문제를 해결했습니다. for i in range(100): try: text = input() print(text) except: print() 근데 아무리 생각해도 너무 비효율적인 코드라고 생각돼서 다른 방법이 없을까 ..

코딩테스트 2023.11.25
반응형