일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- not a git repository
- 파이썬 클래스
- 코딩테스트
- 주니어개발자역량강화
- 파이썬 sep
- 날 문자열
- cp949
- vscode cp949
- 파이썬 int()
- MomentumParameters
- 백준
- EnvCommandError
- 개발자스터디
- Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding
- 99클럽
- print("""
- print sep
- 파이썬
- 파이썬 map 함수
- 개발자사이드프로젝트
- 10172번
- 주니어개발자멘토링
- 10430번
- Til
- fatal:not a git repository
- 코딩부트캠프후기
- 파이썬 |
- 99일지
- 항해
- 항해플러스
- Today
- Total
목록스파르타코딩클럽/활동 내용 (15)
선발대
프로그래머스: 소수 찾기 (링크) 소수 자체를 판별하는 방법은 예전에 풀어봐서 알고 있었는데 가능한 조합을 찾는 방법이 바로 떠오르지 않았다. permutations 사용은 감이 왔는데 매번 달라지는 가짓수를 어떻게 선택하나 싶었다가 다른 분의 블로그에서 힌트를 얻을 수 있었다. 그냥 for문 돌리면서 가짓수를 변경한 조합을 리스트에 저장하고 나중에 join으로 합쳐준 뒤 int로 변경하면 되는 방식이었다. 이렇게 되면 "17"이 주어졌을 때 int_num에는 [1, 7, 17, 71] 이 남게 된다. 그리고 하나 더 중요한 점이 combination이 아니라 permutation을 사용했기 때문에 만약 [1, 1, 2]인 경우 11이 2번 나오게 된다. 이런 경우 때문에 정답을 출력 시 set으로 중복..
28324번: 스케이트 연습 (링크) 단순하게 생각해서 전체 리스트 중 최소값을 기준으로 '최솟값 + (최솟값+1)*(n-1)'로 구할 수 있다고 생각했다. 그런데 문제 조건에 따르자면 중간 지점에서 원하는대로 최댓값으로 올라갈 수 있는데 이 부분을 미처 고려하지 못했다. 전체 for문을 돌려서 최솟값과 비교하며 하나씩 해볼까 하다가 다르게 푸신 분이 계셔서 참고했다. 문제의 조건에 따르자면 마지막 지점에서는 속도가 0이어야 하고, 속도는 내려갈 때 1씩만 감소할 수 있으므로 마지막 중간지점은 무조건 속도가 1이어야 한다. 이렇게 limit_velocity를 미리 1 값을 주고 for문도 n-1번만 돌린다. 마찬가지로 감속은 1씩만 가능하므로 현재 중간지점의 속도는 그 뒤의 속도 개수에 따라 최댓값이 정..
프로그래머스: 숫자 변환하기 (링크) 처음에는 재귀로 풀 수 있을 것이라 생각하고 돌렸는데 계속 오류가 나서 결국 다른 사람의 풀이를 찾아봤다.dp에 매번 값을 넣어두고 set을 이용해서 동일한 값을 제거하는 방식으로 풀었다.x값이 초기 dp에 있으므로 x값과 동일한 y값이 나타나면 그 때의 answer를 리턴하게 된다.막상 풀이를 보면 간단한데 아직 적재적소에 맞는 방법이 바로 떠오르지 않는 것 같다. def solution(x, y, n): answer = 0 dp = set() dp.add(x) while dp: if y in dp: return answer else: dp_y = set() ..
15686번: 치킨 배달 (링크) 백트래킹 문제지만 다른 블로그 풀이를 참고해서 파이썬 combination으로 풀었다.파이썬 조합 라이브러리 사용법을 좀 더 알아둬야겠다. (1) 데이터 입력받기(2) 전체 그래프를 돌면서 1(집), 2(치킨집)의 좌표를 찾음(3) combination을 이용해서 집 ~ 치킨집 사이의 최소 거리를 찾음 from itertools import combinationsimport sys# 1. 데이터 입력 받기n, m = map(int, sys.stdin.readline().split())graph = []chicken = []city = []for _ in range(n): graph.append(list(map(int, sys.stdin.readline().split(..
2010번: 플러그 (링크) 생각해보면 간단하다. 전체 멀티탭의 플러그 개수를 입력 받고 거기에 각각의 멀티탭을 연결하는 개수를 빼주면 된다. import sysinput = sys.stdin.readlinen = int(input())multitaps = [int(input()) for _ in range(n)]print(sum(multitaps)-(n-1))
1309번: 동물원 (링크) 점화식 규칙을 찾지 못해서 다른 풀이를 참고했다. DP로 작게 쪼개서 생각하면 됨!n = 1, 2 인 경우에만 초기에 설정해주고 그 다음부터는 그 직전에 추가하면 된다. n = 10마리: 11마리: 2총합: 3 n = 20마리: 11마리: 42마리: 2총합: 7 n = 30마리: 11마리: 62마리: 83마리: 2총합: 17 n = 40마리: 11마리 82마리: 183마리: 124마리: 2총합: 41 import sysinput = sys.stdin.readlinen = int(input())dp = [0] * 100001dp[1], dp[2] = 3, 7for i in range(3, n+1): dp[i] = (dp[i-1] * 2 + dp[i-2]) % 9901pri..
15700번: 타일 채우기 4 (링크)엄청 간단한 문제였다. 큰 문제점은 없었고 쉽게 해결할 수 있었다.생각해보면 주어진 입력값으로 만들어지는 배열은 항상 직사각형 또는 정사각형이다.따라서 2 x 1, 1 x 2 타일로 채우려면 그냥 그 입력값으로 받은 직사각형 배열 개수를 2로 나누어 주면 된다. 내일도 차근차근 풀어봐야겠다. import sysinput = sys.stdin.readlinen, m = map(int, input().split())print(n * m // 2)
드디어 6월부터 8월까지 좌충우돌 직장인 팀 프로젝트가 끝났다. 와 이제 잘 수 있다 사실 그동안 회고를 거의 안 쓰고 있었는데 이번에 최종 회고를 적어보려 한다. 확인해보니 블로그에 적은 회고가 작년 5월이었다. 노트에 일정이랑 그 날 배운 내용을 따로 정리하다보니 시간이 흘렀다. 어쨌든 어느새 취업을 해서 이제 딱 1년차가 된 파이썬 백엔드 개발자가 되었다. 처음에 어떻게 공고를 보게 되었는지 기억은 안 나는데 마침 항해 플러스 공고를 보게 되었고, 찾아보니까 커리큘럼이 아래와 같았다. 현재 스타트업에 재직 중인데 미리 CI/CD, 모니터링 시스템 구축 등을 배워두면 나중에도 잘 사용할 수 있을 것 같았다. 항해 플러스는 팀으로 프로젝트를 진행한다. 사전 설문을 통해 스파르타 측에서 팀 배정을 해준다..
소개 CSS에서 width, height 지정할 때는 %, vw 등 상대적 수치만을 사용할 것. (px 사용금지) html에서 id/class 지정할 때, 동일한 스타일을 여러 요소에 사용할 경우에만 class 사용. 나머지는 id로. 예시 영상처럼 화면 크기를 조정해도 요소들의 상대적인 위치가 유지되도록 최대 가로 길이를 제한할 것. 만약 최대 가로 길이를 넘어설 경우, 좌우에 공백이 생기도록 할 것. 화면의 스크롤을 움직여도, 상단의 헤더와 하단의 푸터는 위치가 절대 달라지지 않도록 할 것. (심화옵션) 스토리 테두리 2가지 구현: 회색 / 주황색~보라색 그라데이션 요소들의 상대적인 위치만 동일하다면, 요소의 %, vw 등 상대적 크기는 자유롭게 정해도 괜찮음. 자신이 원하는 사진을 자유롭게 넣도록 ..
소개, 결과물 오늘 실습은 em, rem, % 등 상대적 수치는 사용하지 않고, px 만 사용할 것. 모든 요소를 감싸는 전체 div는 가로 480px, 세로 800px로 진행할 것. position: absolute 는 딱 하나의 요소에만 사용할 것. 나와의 채팅, 프로필 관리, 카카오스토리 부분은 display: flex 를 이용해서 배치할 것. 부트스트랩은 사용 금지임. 요소들의 상대적 위치만 동일하다면, 그 외 요소의 px는 자유롭게 정하도록. 내가 작성한 코드, 모범답안 더보기 ________ 너부리는 내일 나한테 까만 돌멩이를 줄거야! 보노보노 나와의 채팅 프로필 관리 카카오스토리 /* 내가 작성한 코드: CSS 파일 */ .container { width: 480px; height: 800p..
게임설명 (1) 턴제 RPG 게임 만들기 [간단설명] 공통속성: 이름 / HP / 공격력 플레이어 행동 종류: 공격 / 마법 몬스터 행동 종류: 공격 / 회복 / 대기 몬스터 종류: 미니고블린 / 고블린 / 슈퍼고블린 [상세설명] 1. '플레이어'와 '몬스터'라는 클래스를 만들고, 각각 할 수 있는 행동을 메소드 형태로 정의함. 2. 함수 '플레이어 턴': 플레이어가 입력하는 값에 따라 플레이어 클래스의 메소드(공격, 마법)가 실행됨, 3. 함수 '몬스터 턴': 랜덤으로 몬스터 클래스의 메소드가 실행됨. 4. 두 함수를 While문 아래 배치해서, 모든 몬스터가 죽거나, 플레이어가 죽기 전까지 번갈아가며 진행. 더보기 [상세설명 / 1. 클래스 생성 파트] : '플레이어', '몬스터'는 모두 Object..
코딩 설명 (1) 직사각형 넓이, 둘레 구하기 직사각형의 가로, 세로만 지정해서 직사각형을 생성하면, 멤버 메소드를 이용해 넓이와 둘레를 구할 수 있는 클래스를 작성하세요. (생성자, 넓이, 둘레 함수 총 3가지가 포함되어야함) (2) 고양이, 강아지 클래스 만들기 이름과 동물을 지정해서 인스턴스를 생성하는 동물이라는 클래스를 생성하고, 동물을 상속받아 고양이 클래스를 만들어 야옹을 출력하는 함수를 만들고, 동물을 상속받아 강아지 클래스를 만들어 왈왈을 출력하는 함수를 만들어주세요. 내가 작성한 코드, 모범답안 (1) 직사각형 넓이, 둘레 구하기 ## 내가 작성한 코드 class box: def __init__(self, wid, len): self.wid = wid self.len = len def a..
이번주 월, 화, 수요일은 개인프로젝트로 파이썬 게임을 만든다. 모범답안의 # [!] 표시는 내가 기록한 부분이다. 게임설명 (1) 업다운 게임 만들기 컴퓨터가 1~100 중 랜덤으로 임의의 수를 정하면, 플레이어가 정답을 맞히는 게임이다. 정답보다 작으면 컴퓨터는 '업'이라고 출력하고, 크다면 '다운'이라고 출력해서 힌트를 준다. 플레이어는 힌트를 보고 5회 안에 정답을 맞혀야 한다. (2) 업다운 인공지능 만들기 이번에는 반대로 플레이어가 1~100 중 임의의 수를 정하고 컴퓨터가 정답을 맞히는 게임이다. 컴퓨터의 답이 정답보다 작으면 플레이어가 '업'을 입력하고, 크다면 '다운'을 입력하여 힌트를 준다. 컴퓨터는 횟수 제한 없이 정답을 맞힐 때까지 계속 시도한다. 내가 작성한 코드, 모범답안 (1)..
1. 수업 후기 강의 개수: 19개 총 강의시간: 1시간 56분 수업 목표: 1. 파이썬 기초 문법을 익히고, 2. 여러가지 퀴즈로 빠르게 숙달한다. 3. 파이썬 심화 문법들을 다뤄본다. 4. 머릿 속 어딘가에 담아두고, 나중에 생각나면 써먹기! 강의는 파이썬에 대한 기초가 없는 사람도 쉽게 이해할 수 있도록 구성되어있다. 생각보다 완강하는데 시간이 별로 안 걸렸는데, 완전 기초 중의 기초 내용들이 있어서 그런 것 같다. 완강에 걸린 정확한 시간은 잘 모르겠는데, 질의응답에도 보니까 수강에 2시간 반, 복습에 2시간 반으로 할당해서 총 5시간이면 완강한다고 쓰여있었다. 심화 내용에서는 그냥 이런 것들이 있구나 하고 넘어간 부분도 있고, 정말 맛보기라서 크게 어렵지는 않았다. map, filter, try..
기본내용 안내 사이트: https://sparta-nbcamp-ai.oopy.io/ 스파르타 내일배움캠프 - AI 웹개발 트랙 (1기) 🔔 11월 10일 (수)까지 지원하고, 4개월간 빡세게 배워 내년에는 취업하세요! sparta-nbcamp-ai.oopy.io 기간: 2021년 12월 13일 ~ 2022년 3월 31일 (4개월) 일정: 월, 화, 수, 목, 금요일 9시 ~ 21시 (식사시간 제외 완전한 몰입) 인원: 총 100명 기타사항: 국민내일배움카드 발급 대상자는 무료, 매월 최대 훈련 장려금 30만원 지급, 온라인 비대면 교육 교육목표: AI 기술 이해도가 높고 Python-Django 프레임워크에 대한 주특기를 갖춘 "웹 백엔드 개발자" 양성 교육방식 타이트한 타임라인: 단기 집중목표를 설정하..