문제 설명 처음 생각한 풀이 1. 게임판의 값이 '*'이 아니라면, 해당 좌표, 좌, 하, 대각(왼아) 좌표를 탐색하고 값이 모두 같다면 그 좌표들을 리스트에 담는다. 2. 사라질 좌표들의 중복을 없애고, 그 좌표의 값을 '*'로 대체한다. 3. '*' 위의 문자들을 밑으로 내리고, 사라질 좌표들이 하나도 없을 때까지 1부터 반복한다. 문제점 풀이 방식을 떠올리는 건 쉽지만, 좌표의 값을 '*'로 대체하고, '*' 위의 문자를 밑으로 내리는 걸 구현하는게 어려웠습니다. for i in range(n): for j in range(m-1): if board_list[j][i] != '*' and board_list[j+1][i] == '*': board_list[j][i], board_list[j+1][i..
문제 설명 처음 생각한 풀이 1. musicinfos에서 시간을 추출해서 몇 분 동안 연주됐는지 계산한다. 2. 계산한 시간만큼 악보를 늘려준다. 3. m이 musicinfos에 포함되는지 확인한다. 4. 기타 다른 조건들을 만족 시킨다. (라디오에서 재생된 시간이 제일 긴 음악 제목을 반환한다. 재생된 시간도 같을 경우 먼저 입력된 음악 제목을 반환한다) 결과 이런식으로 간단하게 생각하고 풀었는데 계속 테스트 케이스 3이 통과가 되지 않았습니다.. 알고 보니 m과 musicinfo의 악보를 비교할 때, C#인데 C라고 생각하고 풀고 있었어서 안됬던 거였습니다. 즉, #을 전혀 고려하지 않았습니다...........(규칙을 꼭 꼼꼼하게 보자) 다시 생각한 풀이 1. m을 입력받았을 때, 문자열의 뒷 인덱..
문제 설명 생각한 문제 풀이법 1. str1 집합, str2 집합을 구현한다. 2. 교집합과 합집합을 규칙에 맞게 구현한다. 3. 다중 원소 규칙을 지키기 위해서 교집합과 합집합을 만들 때 겹치는 값의 최소 빈도 값은 교집합에 넣고, 최다 빈도 값은 합집합에 넣는다. 4. 빈도 값을 더해서 집합의 크기를 구해 계산한다. def solution(str1, str2): # 규칙 : 대문자와 소문자 차이는 무시한다. str1 = str1.lower() str2 = str2.lower() str1_set = [] # str1의 집합 str2_set = [] # str2의 집합 intersection = [] # 교집합 union = [] # 합집합 previous_word_i = [] # 교집합 구할 때, 중복..
문제 설명 처음 생각한 풀이 1. 유저의 신고 당한 횟수를 담는 딕셔너리를 만든다. 2. report를 돌면서 신고 당한 횟수를 딕셔너리에 저장하고, 횟수가 k번 이상일 경우, 블랙 리스트에 추가한다. 3. report를 다시 돌면서 신고 당한 사람이 블랙 리스트에 속해 있다면, 그 사람을 신고 한사람을 다시 신고자 리스트에 추가한다. 4. id_list를 돌면서 해당 이름이 신고자 리스트에 몇개 있는지 count 해서 세본다. 결과 시간 초과가 떴습니다.. report의 길이가 200000 이하였기 때문에 report를 돌면서 신고 당한 사람이 블랙리스트에 속해 있는지 확인하는 부분에서 시간이 오바된 것 같았습니다. 다시 생각한 풀이 우선, 신고 당한 사람이 블랙 리스트에 속해 있는지 확인 하는 과정을..
파이썬에서 주어지는 내장 함수를 사용하지 않고 직접 10진수 -> n진수, n진수 -> 10진수로 변환하는 코드를 작성하겠습니다. 10진수 -> N진수 변환 n_dic1 = { 0: '0', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5', 6: '6', 7: '7', 8: '8', 9: '9', 10: 'A', 11: 'B', 12: 'C', 13: 'D', 14: 'E', 15: 'F' } def change_10_to_n(n, value): result = '' q, r = divmod(n, value) while q > 0: result += n_dic1[r] q, r = divmod(q, value) result += n_dic1[r] return result[::-1] n..
공유 자원 (Shared Resource) 여러 프로세스가 공동으로 이용하는 변수, 메모리, 파일 등을 말합니다. 공동으로 이용되기에 누가 언제 데이터를 읽거나 쓰느냐에 따라 결과가 달라질 수 있습니다. 경쟁 상태 (Race Condition) 공유 데이터에 대해 여러 프로세스가 동시에 접근, 변경을 시도하는 상황을 말합니다. 데이터의 일관성을 유지하기 위해서 수행되는 프로세스들이 순차적으로 공유자원에 접근해야 합니다. 문제 상황 예시 (은행 입출금 문제) 프로세스 A와 B가 은행 잔고에 동시에 접근해서 둘 다 1000원을 읽었습니다. A는 500원을 입금했고 B는 뒤이어 500원을 출금했다면 잔고는 1000원이 저장돼야 하지만, B가 더 나중에 저장했으므로 500원이 저장됩니다. => 문제 발생 임계 ..
- Total
- Today
- Yesterday
- returnKey
- setBackgroundColor
- 스냅킷
- 프로세스간통신
- webcrawl
- 개발동아리
- sharedmemory
- URLComponents
- ios
- PHImageRequestOptions
- RxSwift
- 프로세스
- rxcocoa
- cs
- OS
- 스레드
- isNetworkAccessAllowed
- Xcode
- swiftsoup
- 부캠
- WKUIDelegate
- 슈퍼스칼라
- 멀티프로세스
- 디프만
- 운영체제
- 개발대외활동
- Swift
- 쓰레드
- PHAsset
- optional
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |