일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- UXUI챌린지
- 오블완
- 오픈챌린지
- 패스트캠퍼스
- 백엔드 부트캠프
- 디자인챌린지
- Java
- 디자인강의
- Be
- 부트캠프
- 내일배움카드
- OPENPATH
- 내일배움캠프
- baekjoon
- 국비지원교육
- 티스토리챌린지
- 백엔드
- Spring
- 환급챌린지
- UXUIPrimary
- 객체지향
- 백엔드개발자
- 디자인교육
- KDT
- 국비지원취업
- UXUI기초정복
- 국비지원
- 백준
- mysql
- 오픈패스
- Today
- Total
목록백준 (24)
군만두의 IT 공부 일지

✅문제: 2230번 2230번: 수 고르기N개의 정수로 이루어진 수열 A[1], A[2], …, A[N]이 있다. 이 수열에서 두 수를 골랐을 때(같은 수일 수도 있다), 그 차이가 M 이상이면서 제일 작은 경우를 구하는 프로그램을 작성하시오. 예를 들어www.acmicpc.net📌개념정리(1) 투 포인터(Two Pointers)정의: 서로 다른 두 위치의 포인터를 동시에 조작하여 해결하는 알고리즘주로 정렬된 배열에서 두 요소의 특정 관계를 만족시키는 문제에 사용함.📌문제풀이주어진 배열에서 두 수의 차가 M 이상이면서 가장 작은 경우를 찾는 문제임. 배열을 정렬한 후, 투 포인터 기법을 사용하여 두 수의 차이를 조절하며 최소 차이를 구함.1. 주어진 수를 오름차순으로 ..

✅문제: 1316번 1316번: 그룹 단어 체커그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때www.acmicpc.net📌개념정리(1) 집합(Set)정의: 중복을 허용하지 않는 순서가 없는 자료구조파이썬에서는 집합 자료형(set)을 이용하여 요소의 중복을 자연스럽게 제거할 수 있음.파이썬에서 집합 사용요소 추가: add() 메소드를 사용하여 집합에 요소를 추가함.요소 확인: in 연산자를 사용하여 요소가 집합에 있는지 확인할 수 있음.요소 삭제: remove() 메소드를 사용하여 집합에서 요소를 제..

✅문제: 3273번 3273번: 두 수의 합n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i www.acmicpc.net📌개념정리(1) 투 포인터(Two Pointers)정의: 배열이나 리스트에서 두 개의 포인터를 이용하여 문제를 해결하는 기법보통 정렬된 배열에서 두 요소의 합, 차 등을 계산할 때 사용함.이 문제에서는 left, right 두 포인터를 이용하여 합이 특정 값 X와 일치하는 쌍을 찾음.📌문제풀이이 문제는 주어진 수열에서 두 수의 합이 특정 값 X와 같아지는 경우의 수를 찾는 문제임...

✅문제: 18429번 18429번: 근손실웨이트 트레이닝을 좋아하는 어떤 대학원생은, 현재 3대 운동 중량 500의 괴력을 소유하고 있다. 다만, 하루가 지날 때마다 중량이 K만큼 감소한다. 예를 들어 K=4일 때, 3일이 지나면 중량이 488로www.acmicpc.net📌개념정리(1) 백트래킹(Backtracking) 정의: 해결책에 대해 시도를 해보다가, 현재의 부분 해결책이 최종 해결책으로 이어지지 않을 것이라고 판단되면 이전 단계로 돌아가 다시 시도하는 기법모든 가능한 경우의 수를 찾아보되, 각 단계에서 실패한 경우를 즉시 중단하고 다른 경로를 시도하는 방식임.(2) 재귀 함수(Recursive Function)정의: 함수가 자기 자신을 호출하여 문제를 해결하는 ..

✅문제: 4949번 4949번: 균형잡힌 세상 각 문자열은 마지막 글자를 제외하고 영문 알파벳, 공백, 소괄호("( )"), 대괄호("[ ]")로 이루어져 있으며, 온점(".")으로 끝나고, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마지막에 www.acmicpc.net 📌개념정리 (1) 스택(Stack) 정의: 후입선출(LIFO, Last In First Out)의 원리로 작동하는 자료구조 파이썬에서는 리스트(List) 자료형을 스택(Stack)처럼 사용할 수 있음. 파이썬의 리스트가 동적 배열로 구현되어 있어서 스택의 핵심 연산인 푸시(push, 요소를 추가하는 연산)와 팝(pop, 최근에 추가된 요소를 제거하는 연산)을 기본적으로 지원하기 때문. 파이썬에서 스택 사용 푸시(Push)..

✅문제: 25083번 📌개념정리 (1) ' " \ 등 출력 정의: 출력할 문자열 앞에 \를 붙임. 예) \', \", \\ 등 (2) r(raw string) 정의: \b(백스페이스) , \" (큰따옴표 출력) , \n(줄바꿈) 등과 같은 escape문에 raw string을 사용하면 escape문이 동작되지 않고 문자 그대로 출력됨. 출력할 문자열 앞에 r을 붙임. 예) r"C:\programs\Test\Bin'" 📌문제풀이 print(r''' ,r'"7 r`-_ ,' ,/ \. ". L_r' `~\/ | |''') print(r''' ''')에서 공백 부분에 문자열을 복붙해서 넣음. 📌 후기 다른 문제(10171번, 10172번)의 숏코딩에서 본 것을 활용함. 이전에는 \를 사용하는 방법으로 출력했는..

✅문제: 1000번 1000번: A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 📌개념정리 (1) 문자열.split() 정의: 문자열을 일정한 규칙으로 잘라서 리스트로 만들어 주는 함수 📌문제풀이 a = int(input()) b = int(input()) print(a+b) 처음 작성한 코드. 파이썬 문법을 오랜만에 작성해서 기초적인 부분을 틀렸음. 런타임 에러가 발생함. 문자열로 구분해서 입력받아야 했고, 입력받은 문자를 int형으로 바꾸어줘야 됨. a,b = input().split() print(int(a)+int(b)) 위 코드로 실행하니 맞았습니다! 📌후기 오랜만에 백준 문제를 풀어서 쉬운 문제도 어색하게 느껴짐... 공부는 계속..

✅문제: 15483번 15483번: 최소 편집 첫째 줄과 둘째 줄에 두 문자열이 주어진다. 문자열은 알파벳 소문자로만 이루어져 있으며, 최대 1000글자로 이루어져 있다. www.acmicpc.net 📌개념정리 (1) Dynamic Programming (동적 프로그래밍) 정의: 하나의 큰 문제를 여러 개의 작은 문제로 나누어서 그 결과를 저장하여 다시 큰 문제를 해결할 때 사용하는 것 (2) Levenshtein Distance (편집 거리 알고리즘) 정의: 두 문자열의 유사도를 판단하는 알고리즘 기준: 삽입, 삭제, 교체 (3) 이중 포인터와 동적 다차원 배열 이중 포인터: int에 대한 포인터를 가리키는 포인터는 두 개의 별표(**)를 사용하여 선언함 동적으로 2차원 배열을 할당할 때 이중 포인터가..