파이썬
[프로그래머스][파이썬] 옹알이(1)
문제링크 ❓IDEA 문제 설명 그대로 "aya", "ye", "woo", "ma" 네 단어를 각자 최대 한 번씩 사용해서 가능한 단어 리스트를 만든 후 babblings가 이중에 몇개를 포함하는지 계산하면 된다. 단어수가 4개이고 최대 한 번만 사용가능하기에 순열을 사용하여 리스트를 만들면 된다 from itertools import permutations # 선택된 순열을 이어 붙여 단어로 만듦 def make_word(candidates, arr): for i in range(len(arr)): candidates.append("".join(arr[i])) def solution(babbling): babblings = ["aya", "ye", "woo", "ma"] candidates = [] # ..
[BOJ][파이썬, 자바]11660 구간 합 구하기5
✨ 문제 링크 Idea : 누적합을 이용한 부분합 구하기(행 마다 누적합 구한 후 구간합으로 자르기) 이차원배열의 내용들을 쭉 편 후 일차원배열에 누적합을 구한 후 사용하려 했으나 그렇게 하면 시작부분이 첫번 째 열이 아닐시에 빠지는 부분이 있다 예를 들어, 아래와 같은 입력 예제에서 위와 같은 방법을 사용하면 (2, 2)에서 (3, 4)에 해당하는 구간을 구하면 3 + 4 + 5 + 4 + 5 + 6이 나와야하나 처음 언급한 방식으로 접근하면 3까지 포함된다. 1 2 3 4 2 3 4 5 3 4 5 6 4 5 6 7 따라서 행 마다의 누적합을 구한 후 입력에 따라 구간합으로 짤라서 사용한다 자바 코드 import java.io.BufferedReader; import java.io.IOException..
[프로그래머스]체육복, 파이썬(python)
문제링크 ✨Idea 여분의 체육복이 있는 경우도 도난당하게 된다면 빌려줄 수가 없으므로 lost와 reserve에서 서로 겹치는건 뺀다 그 후 체육복이 있는 인덱스는 True로 처리 후 여분의 학생이 앞 뒤를 체크하며 빌려주면 된다 그러나 아래의 소스코드에서 오름차순 과정이 없다면, 먼저 좌쯕체크 후 우측을 체크하는과정만을 거쳐 예외 케이스가 발생한다 예를 들어 아래와 같은 상황이다 n = 5 lost = [2, 4], reserve = [3, 1] 정상적인 상황이라면 1번 학생이 2번에게 3번 학생이 4번에게 빌려 줄 수 있으나, 정렬을 하지 않는다면 3번이 2번에게 빌려주어 4번 학생은 빌릴 수가 없게되므로 처음에 reserve를 정렬하는 과정이 필요하다 (2021년 8월 30일 테스트케이스가 추가되..
파이썬 JSON파일 다루기(읽기, 쓰기, 수정)
JSON파일을 다룰 때 매번 검색하는 과정이 귀찮아져서 정리해두려 작성하는 포스튕 기본적으로 open()을 통해 파일을 다양한 방식으로 열 수 있다. 'w' : 쓰기전용(파일이 있으면 덮어씌움) 'a' : 쓰기전용(파일이 있으면 덧붙임) 'x' : 쓰기전용(파일이 있으면 에러 발생) 'r' : 읽기전용(파일이 없으면 에러발생) 그러나 open()을 사용하면 아래와 같이 close()로 외부자원 연결을 해제해야하는데 번거롭다 file = open('./test.txt', 'w') file.close() 이는 with~as 문을 이용하면 파일 닫기(close)를 생략할 수 있다. 아래에서 JSON파일을 다루는 법과 함께 사용법을 Araboza JSON 파일 읽기 json을 불러올 때는 json 모듈내의 lo..