본문 바로가기

Computer

(119)
[구름톤 챌린지 - 9oormthon Challenge] Day 6 문자열 나누기 - Python 파이썬 풀이 구름톤 챌린지 6일차 - 문자열 나누기 📜 문제 ✏️ 입력 ✏️ 출력 💡 풀이 지난주 문제들에 비해 조금 난이도가 있었던 것 같다. 문제 공개 당일까지 풀지는 못하고 다음날 오전에 풀게되었다. 문자열을 가능한 조합으로 나누고, 그 조합들에서 최대를 찾아야한다. 나는 문자열을 가능한 조합으로 나누는 함수 search를 만들었다. 인자값으로 들어오는 start는 문자열 조합의 시작을 뜻하고 cnt는 남은 문자열을 몇 부분으로 나눌 것인지를 넘겨주도록 했다. global 변수 set을 사용해서 저장하고 중복을 허용하지 않도록 했다. cal 함수에서는 문자열 조합들에서 최대값을 계산하도록 했다. start와 cnt는 search 함수와 똑같고, P는 문자열을 임시로 저장하는 배열이다. 이후 main 에서는 문자..
[git 사용법] - 깃으로 협업하기, git clone, push, pull 깃으로 협업하기 깃허브의 또 다른 장점은 협업할 때 나타난다. 회사 컴퓨터에서 작업하던 것을 깃허브에 올려놓으면, 집에 있는 컴퓨터에서도 언제든지 접속해서 소스를 내려받고 커밋한 후 푸시할 수 있다. 팀원들도 각자 원하는 시간과 장소에서 편하게 프로젝트에 접근할 수 있다. ✔️ 원격 저장소 복제 - git clone 우선 본인의 깃허브에 있는 저장소의 HTTPS 주소를 가져온다. $ git clone "원격 저장소 주소" "디렉토리 이름" 디렉토리가 없다면, 저장소를 복제하면서 동시에 디렉토리를 만들 수 있다. ✔️ 로그 확인하기 $ cd "디렉토리 이름" $ git log cd 명령을 사용해 본인이 만든 디렉토리로 이동하고 log로 로그를 확인한다. 이렇게 원격 저장소를 복제하면 지역 저장소와 원격 저..
플러터 앱프로그래밍 Day7 플러터 앱프로그래밍 Day7 지난 시간에는 계산기를 만들어 봤었다. 이번에는 '탭(tab)' 에 대해 알아볼 것이다. 우리가 보통 인스타그램이나, 카카오톡에서 아주 많이 사용하는 탭바를 알고 있다면 기능 이해에 대해서는 조금 쉽게 접근할 수 있다. 각 화면을 탭으로 연결한 탭바를 이용하면 관련 있는 내용끼리 묶을 수 있다. 메인화면에서 탭을 눌러 화면을 이동할 수 있기 때문에 좀 더 직관적인 앱을 만들 수 있다. 여러 페이지 만들고 이동하기 우선, 여러 화면을 만들고 각 화면을 탭바에 연결해 사용자가 탭을 눌렀을 때 화면으로 이동하는 앱을 구현해보겠다. 모바일 앱 개발에서는 이를 내비게이션(navigation)이라고 한다. 내비게이션은 다음 포스팅 때 다뤄보고 오늘은 탭바를 이용해보겠다. class Fi..
[Baekjoon] 백준 9461 '파도반 수열' 문제풀이 Python, 파이썬, 알고리즘 정리 📝 9461 문제 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 길이를 k라 했을 때, 그 변에 길이가 k인 정삼각형을 추가한다. 파도반 수열 P(N)은 나선에 있는 정삼각형의 변의 길이이다. P(1)부터 P(10)까지 첫 10개 숫자는 1, 1, 1, 2, 2, 3, 4, 5, 7, 9이다. N이 주어졌을 때, P(N)을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, N이 주어진다. (1 ≤ N ≤ 100) 출력 각 테스트 케이스마다 P(N)을 출력한다. 🧐 풀이 T = int(in..
Operating System - 컴퓨터 시스템 계층 구조, 운영체제, 운영체제의 역할, 운영체제와의 관계, 운영체제의 필요성, 운영체제의 기능 멀티 코어 CPU CPU 내부에 2개의 프로세서가 포함되어 있음 2개의 프로그램을 동시에 실행 병목 현상이 발생해서 속도가 저하된다. 컴퓨터 시스템 계층 구조 사용자 응용 프로그램 (한글, Chrome, VSCode, 카카오톡 등) 운영체제 (운영체제 커널 코드, 디바이스 드라이버) 컴퓨터 하드웨어 위의 표처럼 컴퓨터 시스템은 계층 구조로 설계되어 있다. 운영체제는 응용프로그램과 하드웨어 사이의 인터페이스이다. 그렇다면, 컴퓨터 시스템이 계층 구조로 설계된 이유는 무엇일까? 계층 간의 독립성 확보를 위해서 이다. 사용자 운영체제나 하드웨어에 대해 몰라도 응용프로그램으로 컴퓨터를 사용할 수 있다. 응용프로그램 컴퓨터 하드웨어의 타입이나 구조, 제어 방법을 몰라도 개발이 가능하다. ex) CPU의 크기, 메..
[Baekjoon] 백준 13164 '행복유치원' 문제풀이 파이썬, Python, 알고리즘 정리 📝 13164 문제 행복 유치원 원장인 태양이는 어느 날 N명의 원생들을 키 순서대로 일렬로 줄 세우고, 총 K개의 조로 나누려고 한다. 각 조에는 원생이 적어도 한 명 있어야 하며, 같은 조에 속한 원생들은 서로 인접해 있어야 한다. 조별로 인원수가 같을 필요는 없다. 이렇게 나뉘어진 조들은 각자 단체 티셔츠를 맞추려고 한다. 조마다 티셔츠를 맞추는 비용은 조에서 가장 키가 큰 원생과 가장 키가 작은 원생의 키 차이만큼 든다. 최대한 비용을 아끼고 싶어 하는 태양이는 K개의 조에 대해 티셔츠 만드는 비용의 합을 최소로 하고 싶어한다. 태양이를 도와 최소의 비용을 구하자. 입력 입력의 첫 줄에는 유치원에 있는 원생의 수를 나타내는 자연수 N(1 ≤ N ≤ 300,000)과 나누려고 하는 조의 개수를 나타..

728x90