일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 파이썬웹크롤링
- 유학토플
- JS
- 우리를위한프로그래밍
- 토플공부수기
- nodeJS
- 스위프트
- 파이썬
- 교환학생토플
- 토플공부
- 인프런강의
- 인프런오리지널
- Python3
- 노드JS
- 리프2기
- 토플
- IOS
- 인프런파이썬
- SwiftUI
- 인프런파이썬강의
- 프로그래머스
- 웹크롤링
- 인프런
- 자바스크립트
- swift
- 파이썬중급
- 카카오톡채팅봇
- uikit
- IOS프로그래밍
- 파이썬중급강의
- Today
- 189
- Total
- 264,188
목록2022/08 (11)
먹고 기도하고 코딩하라

문제 설명 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제는 힙으로 분류되어 있지만, 적어도 파이썬에서는 heapq 모듈을 쓰지 않고 문제를 풀 수 있다. 원리는 간단하다. 일단 리스트를 하나 생성하고, 첫 번째 명령이 I이면 그냥 리스트에 집어넣는다. 그리고 D가 나올 경우, 리스트를 정렬해서 맨 뒤의 것을 뽑아주면 된다. 최대값을 뽑으라고 할 때는 오름차순으로, 최소값을 뽑으라고 할 때는 내림차순으로 정렬해서 맨 뒤의 것을 pop해주면 끝이다. 추가로, return 전에 리스트를 한 번 소팅해줘야 테스트케이스 틀리는 것 없이 바른 정답이 나온다..
문제 설명 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 예전에 이것 비슷한 문제를 풀었을 때는 왜 이게 이분탐색 문제인지 몰랐다. 하지만 생각해보면 전형적인 이분탐색 문제인데, 답의 최소값과 최대값을 정하고 그 안에서 좁혀가면서 답을 구할 수 있기 때문이다. 이건 실제 상황을 생각하며 푸는 문제가 아니다. 10분보단 7분이 이득이지.. 하면서 1분 기다리고 이렇게 생각하는 게 아니라, 주어진 시간 동안 각 심사대에서 최대 몇 명의 사람을 심사할 수 있는지 전부 세서 더하고 비교하는 문제다. 예를 들어 문제 예시처럼 사람은 6명, 심사대의 시간은 [7, ..

문제 설명 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 거리에 대한 비용이 따로 주어지지 않고, 간선 1개가 비용 1이나 마찬가지인 양방향 그래프이므로 다익스트라를 쓸 필요는 없다. 단순히 BFS로 구현하면 된다. 렙3치고는 꽤 쉬운 문제였던 것 같다. 방문했던 노드들에 대해서는 비용을 업데이트하지 않고, 큐에도 집어넣지 않는 것이 관건이다. 방문했던 노드들을 관리하는 방법으로는 N 크기의 0으로 초기화된 visited 리스트를 써주면 된다. 이 때 빈 배열에 집어넣고 in 연산하면 시간 복잡도에서 작살나면서 답을 맞았는데도 시간 초과로 틀릴 가능성이 ..
문제 설명 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문자열을 나누고 정렬하는 쉬운 축의 문제이다. 이 정도면 정규식 라이브러리 re를 안 쓰고 풀 수 있지만, 정규식을 쓰면 더 쉽게 풀 수 있는 것 같다. def solution(files): new_files = [] for x in range(len(files)): file = files[x].lower()# 대소문자 구분 X flag = False HEAD = NUMBER = TAIL = '' number_idx = -1 for i in range(len(file)): if file[i].isd..
문제 설명 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제는 백준의 뿌요뿌요 문제와 유사하다. 차이점이라면, 내 기억으로 뿌요뿌요는 일정 개수 이상으로 모여 있으면 그게 다 터지는데, 프렌즈4블록의 경우에는 반드시 정사각형 2*2 모양으로 뭉쳐 있어야만 터지는 것이다. 그래서 정사각형이 겹치는 부분이 생길 수도 있는데 이럴 때 2*2 그대로 개수를 세 주면 틀릴 수도 있어서 이 부분을 주의해야 한다. 정사각형 터지는 부분을 발견했다고 바로 터뜨려버리면 문제를 제대로 풀 수 없기 때문에 주어진 판에서 한 번에 터질 수 있는 좌표들을 구한 뒤, 루프를..

iOS 13부터 SwiftUI가 도입되었고 나도 어떻게 쓰는지 알게 됐는데 아직까지는 UIKit를 좀 더 잘 쓰고 싶어서 UIKit로 작은 앱을 만드는 중이다. 스토리보드를 지우지 않고 인터페이스 빌더를 열어서 UI를 구성하고 있다면 시뮬레이터를 켜지 않고 어떻게 보이는지는 확인할 수 있다. 하지만 스토리보드를 지우면 빌드해서 시뮬레이터에 올리기 전까진 어떻게 보이는지 감이 안 잡힐 수 있다. 이럴 때 SwiftUI에서 쓰이는 프리뷰 기능을 사용하면 좋다. 도입하는 방법은 간단하다. 뷰 컨트롤러 파일에서 SwiftUI를 import하고, 적절한 코드를 뷰 컨트롤러 외부에 추가해주면 된다. 참고로 화면에 띄우려는 것은 어떤 종류의 뷰 컨트롤러든지 상관없다. import UIKit import SwiftUI..
문제 설명 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2022년 카카오 블라인드 채용에 나온 문제다. 카카오 문제는 특히 지문이 길고 잘 읽어야 풀 수 있는 문제들이 많다. 조건들이 촘촘하기 때문에 어림짐작해서 풀면 잘못된 방향으로 풀어서 쉬운 길을 돌아가야 할 수도 있다. (내가 그랬다...) 일단 주차장을 나타내는 parking_lot 딕셔너리와 차번호에 주차한 시간을 담는 time_dict 딕셔너리를 선언한다. 그리고 records를 돌면서, IN이면 단순히 입차 시간을 parking_lot에 담고, OUT이면 해당 차번호 시간을 parking_..

스크롤뷰의 Content Layout Guide, Frame Layout Guide 등에 대해서는 설명하지 않고 어떻게 만드는지만 살펴봅니다. 코드, 스토리보드 2가지 방식과 세로/가로 방향 스크롤뷰를 만드는 방법을 모두 다룹니다. 이 글을 참고했으며 좀 더 자세하게 작성했습니다. 1. 코드 일단 스토리보드를 삭제하고 구현한다고 가정하고 ViewController 소스 코드만 적습니다. 스토리보드를 삭제하고 UIKit으로 구현하는 방법은 이 글을 참고하세요. 이 글을 안 보셔도 상관없지만 다른 글을 보실 때는 잘 살펴야 합니다. 구글에 "스토리보드 없이 개발하는 방법" 등을 검색하면 여러 글이 나오지만, SceneDelegate.swift 파일을 수정하는 글을 보셔야 합니다. 참고로 글을 쓰는 오늘 20..