목록분류 전체보기 (94)
Gaegul's devlog
SW Expert Academy [S/W 문제해결 기본] 시리즈 1215. 회문1 [문제] "기러기" 또는 "level" 과 같이 거꾸로 읽어도 앞에서부터 읽은 것과 같은 문장이나 낱말을 회문(回文, palindrome)이라 한다. 주어진 8x8 평면 글자판에서 가로, 세로를 모두 보아 제시된 길이를 가진 회문의 총 개수를 구하는 문제이다. [입력] 각 테스트 케이스의 첫 번째 줄에는 찾아야 하는 회문의 길이가 주어지며, 다음 줄에 테스트 케이스가 주어진다. 총 10개의 테스트 케이스가 주어진다. [출력] #부호와 함께 테스트 케이스의 번호를 출력하고, 공백 문자 후 찾은 회문의 개수를 출력한다. [Code] def solve(): length = int(input()) #4 arr = [input() ..
SW Expert Academy [S/W 문제해결 기본] 시리즈 1213. String 문제 주어지는 영어 문장에서 특정한 문자열의 개수를 반환하는 프로그램을 작성하여라. e.g. Starteatingwellwiththeseeighttipsforhealthyeating,whichcoverthebasicsofahealthydietandgoodnutrition. 위 문장에서 ti 를 검색하면, 답은 4이다. 코드 #1213. string def solve(text_input, text): num = text.count(text_input) #count 함수 return num for t in range(1,11): #10개 테스트 case = int(input()) text_input = str(input(..
SW Expert Academy [S/W 문제해결 기본] 시리즈 1210. Ladder1 [문제] 출발점 x=0 및 x=9인 세로 방향의 두 막대 사이에 임의의 개수의 막대들이 랜덤 간격으로 추가되고(이 예에서는 2개가 추가됨) 이 막대들 사이에 가로 방향의 선들이 또한 랜덤하게 연결된다. 100* 100 에서 맨 위에서 출발하여 가능한 길을 따라 도착하는 좌표를 출력한다. [제약 사항] 한 막대에서 출발한 가로선이 다른 막대를 가로질러서 연속하여 이어지는 경우는 없다. [입력] 입력 파일의 첫 번째 줄에는 테스트 케이스의 번호가 주어지며, 바로 다음 줄에 테스트 케이스가 주어진다. 총 10개의 테스트 케이스가 주어진다. e.g. 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0..
SW Expert Academy [S/W 문제해결 기본] 시리즈 1209. Sum [문제] 다음 100X100의 2차원 배열이 주어질 때, 각 행의 합, 각 열의 합, 각 대각선의 합 중 최댓값을 구하는 프로그램을 작성하여라. [제약 사항] 총 10개의 테스트 케이스가 주어진다. 배열의 크기는 100X100으로 동일하다. 각 행의 합은 integer 범위를 넘어가지 않는다. 동일한 최댓값이 있을 경우, 하나의 값만 출력한다. [입력] 각 테스트 케이스의 첫 줄에는 테스트 케이스 번호가 주어지고 그 다음 줄부터는 2차원 배열의 각 행 값이 주어진다. e.g. 1 13 24 13 24 1 7 24 11 22 18 22 16 24 8 15 28 9 24 14 14 28 18 17 9 3 29 22 12 28 ..
SW Expert Academy [S/W 문제해결 기본] 시리즈 1208. Flatten [문제] 가장 높은 곳에 있는 상자를 가장 낮은 곳으로 옮기는 작업을 덤프라고 정의한다. 평탄화 작업을 위해서 상자를 옮기는 작업 횟수에 제한이 걸려있을 때, 제한된 횟수만큼 옮기는 작업을 한 후 최고점과 최저점의 차이를 반환하는 프로그램을 작성하시오. A’부분의 상자를 옮겨서, C부분에 덤프하였다. 이때 C 대신 C’부분에 덤프해도 무방하다. 2회의 덤프 후, 최고점과 최저점의 차이는 8 – 2 = 6 이 되었다 (최초덤프 이전에는 9 – 1 = 8 이었다). 덤프 횟수가 2회로 제한된다면, 이 예시 문제의 정답은 6이 된다. [제약 사항] 가로 길이는 항상 100으로 주어진다. 모든 위치에서 상자의 높이는 1이상..
SW Expert Academy [S/W 문제해결 기본] 시리즈 1206. View 문제 [문제] 빌딩들에 대한 정보가 주어질 때, 조망권이 확보된 세대의 수를 반환하는 프로그램을 작성하시오. 양쪽 모두 거리 2 이상의 공간이 확보될 때 조망권이 확보된다고 말한다. 아래와 같이 강변에 8채의 빌딩이 있을 때, 연두색으로 색칠된 여섯 세대에서는 좌우로 2칸 이상의 공백이 존재하므로 조망권이 확보된다. 따라서 답은 6이 된다. [제약 사항] 가로 길이는 항상 1000이하로 주어진다. 맨 왼쪽 두 칸과 맨 오른쪽 두 칸에는 건물이 지어지지 않는다. 각 빌딩의 높이는 최대 255이다. [입력] 입력 파일의 첫 번째 줄에는 테스트케이스의 길이가 주어진다. 그 바로 다음 줄에 테스트 케이스가 주어진다. 총 10개의..
SW Expert Academy [S/W 문제해결 기본] 시리즈 1204. 최빈수 구하기 문제 [문제] 최빈수를 출력하는 프로그램을 작성하여라 (단, 최빈수가 여러 개 일 때에는 가장 큰 점수를 출력하라). [제약 사항] 학생의 수는 1000명이며, 각 학생의 점수는 0점 이상 100점 이하의 값이다. [입력] 첫 번째 줄에 테스트 케이스의 수 T가 주어진다. 각 테스트 케이스의 첫 줄에는 테스트 케이스의 번호가 주어지고 그 다음 줄부터는 점수가 주어진다. [출력] #부호와 함께 테스트 케이스의 번호를 출력하고, 공백 문자 후 테스트 케이스에 대한 답을 출력. [CODE] from collections import Counter T = int(input()) #테스트 케이스 # 여러개의 테스트 케..
screen 과 tmux, 둘 다 SSH로 리눅스 서버에 접속했을 때 SSH 연결이 끊켜도 백그라운드에서 코드를 돌리고 싶을 때 사용하는 프로그램이다. 다시말해 물리 터미널을 백그라운드에서 동작할 수 있는 가상 터미널로 다중화 해준다고 생각하면 편하다. 특히, 나와 같이 딥러닝 코드를 장시간 돌려야 하는데 SSH 연결이 끊켜도, 물리 터미널이 종료되어도 계속 학습을 시키고 싶을 때 유용하다. 이 둘 다 서버에 설치해서 사용해야 한다. 재택으로 인해 VPN으로 접속해서 작업할 때 세션이 끊켜도 가상 터미널을 사용하면 계속 모델을 학습시킬 수 있으며, 내가 작업하는 터미널을 종료하고도 퇴근할 수 있다!!!!! Tmux (Terminal Multiplexer) session : tmux 실행 단위. 여러개의 ..
이번에는 kaggle dataset API 를 사용해서 사용중인 vscode나 colab에서 바로 다운 받을 수 있는 방법에 대해 알아보겠습니다. 1. kaggle 패키지 다운 # -c 채널 옵션에 conda-forge를 주어서 패키지를 다운로드한다. # conda-forge 는 anaconda에서 쉽게 설치할 수 있도록 검증된 파이썬 패키지들을 모아 놓은 하나의 채널. #아나콘다에 설치 conda install -c conda-forge kaggle #추천 conda install kaggle 2. 사용자 API Token 받기 내 프로필의 Account에 들어가면 API token을 발급받을 수 있다. Create New API Token 버튼을 누르면 kaggle.json 파일이 자동으로 다운 받아..
Case 1. pretrained CNN model layer 직접 수정 pretrained CNN model layer 직접 수정하여 input channel을 변경해 보도록 하겠습니다. Problem 일반적인 classification task를 위한 cnn 기반 모델의 인풋은 3 channel (RGB)로 들어가게 됩니다. 하지만 데이터를 가공시키고 원하는 input channel 이 3채널이 아닐때(4채널 or 그 이상 채널이 들어가야 할 때) pretrained cnn 모델을 가져와서 사용하고 싶을때 본 방법은 유용합니다. 저는 se_resnext101 네트워크에 ImageNet dataset이 pretrained 모델을 가져와서 사용하였습니다. 그리고 제가 가공한 이미지 데이터는 9*256*2..