분류 전체보기
-
Python 백준 9625번 - BABBA (시간 초과 해결)백준문제정리 2021. 1. 25. 23:41
문제 상근이는 길을 걷다가 신기한 기계를 발견했다. 기계는 매우 매우 큰 화면과 버튼 하나로 이루어져 있다. 기계를 발견했을 때, 화면에는 A만 표시되어 있었다. 버튼을 누르니 글자가 B로 변했다. 한 번 더 누르니 BA로 바뀌고, 그다음에는 BAB, 그리고 BABBA로 바뀌었다. 상근이는 화면의 모든 B는 BA로 바뀌고, A는 B로 바뀐다는 사실을 알게 되었다. 버튼을 K번 눌렀을 때, 화면에 A와 B의 개수는 몇 개가 될까? 입력 첫째 줄에 K (1 ≤ K ≤ 45)가 주어진다. 출력 첫째 줄에 A의 개수와 B의 개수를 공백으로 구분해 출력한다. 나의 생각 이 문제는 단순히 A라는 문자를 B 로 바꾸고 B 라는 문자는 BA로 바꾸는 단순한 문제이다. 문제만 보면 단순하기 때문에 처음에는 자신있게 코딩..
-
Git명령어 - init, add, commit, log, diff, statusGit 2021. 1. 24. 00:55
이번 포스트에서는 한 페이지로 git 핵심 명령여들을 정리해놓고 필요할 때 다시 찾아 볼 수 있도록 하기 위하여 정리해 보겠습니다. $git init 처음 프로젝트 폴더를 생성하고 여기에 git 작업을 하겠다고 알려주는 명령어(최초 한번 실행) $git add 1. 폴더에 무언가 파일을 생성하고 나서 이 파일을 Git에게 알려주는 명령어 2. Working Directory에서 작업한 것을 Staging Area 에 올리는 명령어 3. 파일을 수정 (modified) 한 후, add를 해준다. (staged files 생성된다.) ex)$git add helloworld.cpp : helloworld.cpp를 tracking해줘라 $git add . : 모든 파일을 tracking하겠다. 필요에 따라서 ..
-
Git이란? - 버전 관리 시스템 [Git 개요]Git 2021. 1. 24. 00:25
오늘부터 git 에 대해서 공부한 내용에 대해서 간략하면서도 필수적인 부분들을 정리해 보겠습니다. Git 주소 : git-scm.com/ Git? 리누스 토르발스가 개발한 분산형 버전 관리 시스템이다. : "Git"은 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템이다. 소프트웨어 개발에서 소스 코드 관리에 주로 사용되지만 어떠한 집합의 파일의 변경사항을 지속적으로 추적하기 위해 사용될 수 있다. (참조 : 위키 백과) 우선 위에 정의는 백과에서 찾아온 정의입니다. 여러 단어 중 가장 중요한 단어가 무엇일까요? 바로 굵은 글씨체인 버전 관리시스템 입니다. git 은 크고 작은 sw 프로젝트들에 대하여 버전을 생성해주고 이 버전에 대한..
-
Python 백준 8320번 - N-Queen, 백트래킹 알고리즘과 pruning(가지치기)백준문제정리 2021. 1. 17. 00:55
문제 N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N이 주어진다. (1 ≤ N < 15) 출력 첫째 줄에 퀸 N개를 서로 공격할 수 없게 놓는 경우의 수를 출력한다. 나의 생각 처음 이 문제를 보았을 때, 당연스럽게 노트를 펴고 3*3 부터 5*5까지 경우를 그려보았다. 그려보면서 특징들을 살펴보았다. 1. 같은 행(row) 에는 반드시 하나의 퀸만 올 수 있다는 점. 2. 위의 조건 때문에 하나의 행씩 위에서 아래로 내려오면서 구할 수 있다는 점. 위 두가지 조건을 특징들을 발견하는 것은 그렇게 오래 걸리지 않았던 것 같다. 그렇지만 이것을 알고리즘으로 구현..
-
Python 백준 8320번 - 직사각형을 만드는 방법 (시간 초과 해결)백준문제정리 2021. 1. 16. 00:58
문제 상근이는 변의 길이가 1인 정사각형 n개를 가지고 있다. 이 정사각형을 이용해서 만들 수 있는 직사각형의 개수는 총 몇 개일까? 두 직사각형 A와 B가 있을 때, A를 이동, 회전시켜서 B를 만들 수 없으면, 두 직사각형은 다르다고 한다. 직사각형을 만들 때, 정사각형을 변형시키거나, 한 정사각형 위에 다른 정사각형을 놓을 수 없다. 또, 직사각형은 정사각형으로 꽉 차있어야 한다. 입력 첫째 줄에 n (1 ≤ n ≤ 10,000)이 주어진다. 출력 만들 수 있는 직사각형의 개수를 출력한다. 나의 생각 처음에 1부터 8개 정도까지 그려보면서 어떤 경우가 될 수 있는지 확인을 해보았다. 우선 세로 로긴 직사각형은 일정하게 증가한다는 것을 알아내었고, 특별한 경우에만 개수가 더 증가한다는 것을 알았다. ..
-
Python 백준 10250번 - ACM호텔백준문제정리 2021. 1. 12. 12:23
문제 ACM 호텔 매니저 지우는 손님이 도착하는 대로 빈 방을 배정하고 있다. 고객 설문조사에 따르면 손님들은 호텔 정문으로부터 걸어서 가장 짧은 거리에 있는 방을 선호한다고 한다. 여러분은 지우를 도와줄 프로그램을 작성하고자 한다. 즉 설문조사 결과대로 호텔 정문으로부터 걷는 거리가 가장 짧도록 방을 배정하는 프로그램을 작성하고자 한다. 문제를 단순화하기 위해서 호텔은 직사각형 모양이라고 가정하자. 각 층에 W 개의 방이 있는 H 층 건물이라고 가정하자 (1 ≤ H, W ≤ 99). 그리고 엘리베이터는 가장 왼쪽에 있다고 가정하자(그림 1 참고). 이런 형태의 호텔을 H × W 형태 호텔이라고 부른다. 호텔 정문은 일층 엘리베이터 바로 앞에 있는데, 정문에서 엘리베이터까지의 거리는 무시한다. 또 모든 ..
-
Python 백준 14562번 - 나는 행복합니다~, (메모리 초과 해결)백준문제정리 2021. 1. 1. 00:16
문제 “나는 행복합니다~ 한화라서 행복합니다~” 행복한 이 노래 가사! 그렇다. 욱제는 한화 이글스의 열렬한 이다. 욱제는 여름방학을 맞아 치킨과 맥주를 챙겨 야구장을 방문했다! 하지만 이게 웬걸? 치맥에 정신이 팔린 욱제는 그만 자신의 관중석 위치가 담긴 티켓을 잃어버리고 말았다. 욱제가 유일하게 기억하는 것이라고는 자신의 관중석 번호 K뿐이다. 당신은 한화 이글스의 감독이다. 열혈 팬인 욱제의 방문에 깊은 감동을 받은 당신은 욱제가 잃어버린 자리를 찾아주려고 한다. 오늘 경기가 펼쳐지는 잠실구장은 세로 길이가 N, 가로길이가 M인 N*M 크기의 관중석을 가지고 있다. 관중석의 왼쪽 위는 (0, 0), 오른쪽 아래는 (N-1, M-1)으로 표시된다. 각 관중석에는 번호가 아래 그림처럼 매겨져 있다. (..
-
Python ASCII 값 출력하기 (백준 11654)프로그래머스문제정리 & Python잡다한것 2020. 12. 31. 12:16
Python 에서 문자를 Ascii 값으로 변환하여 출력하기 아주 간단하게 ord() 함수를 사용하면 실행이 되는 것을 볼 수 있다. 단, 문자 하나를 변환해 주는 것이기 때문에 list 같은 여러개 값을 변환시키고 싶을 때는 for문을 이용한다. ex) [ord(x) for x in list] Errors 이렇게 symbol이라는 list를 넣어줄 때는, 에러가 발생하는 것을 확인할 수 있다. 에러 내용을 보면 ord() 함수는 length 1을 원하는 것을 확인 마찬가지로 int값을 바로 넣어줄 때도 에러가 생기는 것을 확인했다. 따라서 chr()로 type casting을 진행후 처리 출력 예시 1 2 3 4 5 6 7 8 9 10 11 12 import sys symbol = sys.stdin.r..