본문 바로가기
반응형

전체 글330

[백준 1912] 연속합(python) https://www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 연속합 문제 문제 자체는 사실 엄청 간단하다. 시간 초과만 고려하지않으면 답을 여러개로 뽑아낼 수 있을정도로 간단한 문제지만, 한정적인 시간 안에서 풀어야하는 문제니 나름 까다로웠다고 생각한다. 정답코드 import sys n = int(sys.stdin.readline()) x = list(map(int, sys.stdin.readline().split())) for i in range(1,n) : x[i.. 2023. 2. 6.
[싸피일기]SSAFY 6주차 첫 주간평가 사실 이렇게 기록할 거면 더 일찍 기록 시작할걸 하면서 후회하면서 작성 중인 글.. 블로그 새로 시작해야지 해야지 해놓고 이제 와서 정리하는 것도 다 게을러서 그런가 보다.. 앞으로 바빠질 거라는데 이렇게 게으르다간 큰일 날 거 같다. 싸피 내에서 여러 활동을 장려하고 있는데 이렇게 기프티콘 같은 것도 받는 거 보니 나름 열심히 활동도 참여하는 듯한 기분도 들고 있다! 그 외 담당 프로님이 제일 여유로운 시기가 당장의 오늘이고 내일, 하루하루 지날수록 더 바빠질 거라는데 알고리즘 주간 들어서면서 크게 체감하고 있다. 나름 싸피 들어와서 알고리즘을 잘(?) 푸는 거 같아서 나름 재능이 있을지도? 하고 착각하던 나에게 뼈 때리고 있는 주간이라고 생각한다. 싸피에서 스타트캠프 제외하고 3주 가까이 공부하면서 .. 2023. 2. 6.
[파이썬] 문자열(String) 알고리즘 정리 - 브루트 포스(brute force) 정의 무식하게 진행 한다는 의미로 brute force 알고리즘이라 불리며 가능한 모든 경우의 수를 모두 탐색하기에 완전 탐색 알고리즘이라고도 불린다. 일반적으로 문제 해결을 위해서 모든 자료를 탐색해야 하기에 특정 구조를 전체적으로 탐색할 수 있는 방법 요구 선형 구조로 탐색하는 순차 탐색, 비선형 구조로 탐색하는 깊이 우선 탐색(DFS)과 너비 우선 탐색(BFS)이 가장 기본적인 방법 → 브루트 포스와 가장 관련이 깊은 방법은 BFS 비밀번호 자물쇠를 생각하면 이해하기 쉽다 (단순히 무식하게 4자리 자물쇠를 확인하더라도 총 10^4번의 확인이 필요하다) 장점 알고리즘 설계와 구현이 매우 쉽다. 복잡한 알고리즘 없이 빠르게 구현이 가능하다 단점 알고리즘의 실행 시간이 매우 오래 걸린다 메모리 효율면에서.. 2023. 2. 6.
[백준 1149] RGB 거리 (python) https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net RGB 거리 문제 문제 자체는 동적 계획법을 활용하여 푸는 문제이다. 사실 아직 동적 계획법이 뭔지 몰라서 최대한 힌트 없이 조건에 맞춰서 풀려고 했으나 실패했다. 항상 문제 접근을 단순하게 시작하는 편인데, 너무 단순하게 생각하니까 조건하나씩 빼먹기도하고, 알고리즘 개념을 제대로 공부해서 적용할 필요가 있을거 같다. # 입력조건 import sys N = int(sys.st.. 2023. 2. 6.
[파이썬] 알고리즘 풀이에 자주 사용되는 python 함수 및 알고리즘 기술 정리하기 알고리즘 문제를 풀면서 여러가지 내장 함수를 사용하게 된다. 그 중 이런 함수가 있는건 알지만 어떻게 적용되는지, 어떻게 사용해야하는지 정확하게 개념을 잡고자 하나씩 정리하고자 한다. 특히 함수들의 사용 원리를 파악하기 위해서 싸피 알고리즘 주간에는 과제로 내어준 문제들에 대해 max, min, sum, sort 등의 내장 함수를 사용하지 말라고 한다. (물론 개인 공부때는 별개) 알고리즘을 풀면서 (특히 백준) 시간 초과, 메모리 초과, 런타임 에러 등 많은 고려 사항들이 발목을 잡고 있는데, 시간 복잡도 생각하는 방식 등을 제대로 아직은 이해하지 못하고 있어서 그런거 같다. 지금 가장 많이 사용하는 함수 1) input() 함수 → 백준 풀 때는 sys 모듈 import 해서 sys.stdin.rea.. 2023. 2. 5.
[싸피일기] 싸피 9기에 합격하고 시작하는 개발 일지 11~12월에 진행된 SSAFY 9기 모집에 비전공자 전형으로 합격하여 1월부터 서울 캠퍼스에서 파이썬 트렉으로 수업을 듣고 있다. 아예 코딩 자체를 처음 접해보는 건 아니지만, C만 다뤄보고 python이나 html, css, java script 등은 거의 진짜 기초만 잠깐 한 수준이었다. 그렇기에 싸피에 처음 들어와서 개념 듣고 알고리즘 푸는 과정이 생각보다 수월하고 굉장히 재미있다고 느끼고 있다. 다만, 2월이 된 지금 수업을 들으면서 개념 정리가 전혀 안된 채로 무식하게 알고리즘만 풀고 있다는 생각이 들었다 (물론 싸피 내에서 개념에 대해 하나하나 다 알려준다) 막상 SW expert Academe 문제나 백준 문제를 풀어도 어느 정도는 풀 수 있지만 이게 무슨 개념이고, 어떻게 활용해서 풀었다.. 2023. 2. 5.
반응형