- 쓰기
import json file_path = "test.json" data = {} data['result'] = result # result -> id들이 저장된 리스트 with open(file_path, 'w') as f: json.dump(data, f)
위와 같이 하면 json 형태로 저장이 된다.
원래는 txt 파일로 저장하려 했는데 id 가 여럿이여 리스트로 저장을 해주고 싶었는데TypeError: write() argument must be str, not dict
이렇게 에러가 떠서 잘라주고 붙여주고 하는 작업을 하지 않기 위해 json 형태로 저장하기로 하였다.
내가 원하는 방식으로 저장이 잘 되었다.json 형태로 쓸때는
json.dump(데이터, 쓸 파일 이름)
위 방식만 기억을 해주면 되겠다.
추가로with open(file_path, 'w') as f: json.dump(data, f, indent=4)
위와 같이 indent로 4칸 즉 tab 을 해주면
이쁘게 정리되어서 나온다. 굳 ㅎㅎ
- 파일 읽기
import json file_path = "test.json" with open(file_path, "r") as f: temp_result = json.load(f) print(temp_result) print(temp_result['result']) print(type(temp_result['result']))
나는 리스트 형태로 가져오기를 원했었는데 리스트로 잘 가져오는 모습을 볼 수 있다.
🔍 programmers 디펜스 게임 level2
결과만 말하면 못풀었다.
최종 프로젝트 중간 발표만 지나면 다시 풀어볼 생각이다.
풀 방법이 생각나지 않아 브루트 포스로 풀었는데 역시 안됐고
제대로 실행조차 되지 않았다. ㅠㅠ
일단 코드를 제대로 완성시켜보고 이분 탐색으로 다시 풀어보려고 한다.from collections import deque def solution(n, k, enemy): queue = deque(enemy) use_k_index = [] for i in range(len(enemy)): temp = 0 temp_list = enemy[i:] j = 0 while temp < n: temp += enemy[j] j += 1 check_shield = [(index, enemy[i:j][index]) for index in range(len(enemy[i:j]))] check_shield.sort(key=lambda x:x[1], reverse=True) use_k_index = [check_shield[x] for x in range(k)] for use in use_k_index: if use[0] == i: k -= 1 break else: n -= enemy[i] if n < 0: return i return len(enemy)