profile
마이구미 마시쪙

[Python] TypeError: A Bytes-Like Object Is Required, Not ‘Str’

상황 파이썬으로 api 호출을 할 때 헤더나 바디에 base64인코딩을 하여 전달하거나 받는 경우가 있었다. 당시에는 상대 측의 api 가 해결되지 않아 단순히 아래와 같은 느낌으로만 코드를 작성해 두었다. 후에 클라이언트와의 테스트를 위해 실제로 동작시켰을 때 에

2022년 6월 1일
·
0개의 댓글
·

[PyTest] sqlalchemy.orm.exc.DetachedInstanceError

상황 pytest 중 단일 테스트를 진행하면 정상 작동하는데 여러 개의 테스트를 커맨드로 실행하면 아래와 같은 에러 메세지가 발생하였다.

2022년 6월 1일
·
0개의 댓글
·
post-thumbnail

[Leetcode] 647. Palindromic Substrings (python)

647\. Palindromic Substringsimg오랜만에 문제를 푸는 것이라 이전에 풀었던 것을 python으로 다시 풀어보게 되었다. 접근 자체는 brute force 하게 접근하면 되겠다는 생각이 들었고 이를 위해 dfs를 이용하였다. palindrome이라

2022년 5월 22일
·
0개의 댓글
·

[python] TypeError: A Bytes-Like Object Is Required, Not ‘Str’

파이썬으로 api 호출을 할 때 헤더나 바디에 base64인코딩을 하여 전달하거나 받는 경우가 있었다. 당시에는 상대 측의 api 가 해결되지 않아 단순히 아래와 같은 느낌으로만 코드를 작성해 두었다.후에 클라이언트와의 테스트를 위해 실제로 동작시켰을 때 에러가 발생했

2022년 5월 22일
·
0개의 댓글
·
post-thumbnail

[BOJ] 11054 - 가장 긴 바이토닉 부분 수열 (C++)

가장 긴 바이토닉 부분 수열img문제에서 바이토닉 수열의 정의와 예시를 보고 일정하게 증가하거나, 감소하거나, 증가하다가 한번만 감소하는 형태를 이루는 것을 알 수 있었다. 이 부분에서 첫 번째 인덱스와 마지막 인덱스를 기준으로 증가하는 수열의 길이를 저장하고 이를 더

2022년 2월 7일
·
0개의 댓글
·
post-thumbnail

[BOJ] 1043 - 거짓말 (C++)

거짓말img알고리즘 문제를 풀면서 union-find 문제는 거의 풀어보지 않았던 터라 풀이의 도움을 받았다. 아래와 같은 과정을 통해 해결하였다. 기본적으로 union-find를 접해보았다면 나름 어렵지 않게 해결할 수 있는 문제 같았다.참고https://9

2022년 2월 5일
·
0개의 댓글
·
post-thumbnail

[BOJ] 11444 - 피보나치 수 6 (C++)

피보나치 수 6img이 문제는 피보나치 수 3와는 다르게 피사노 주기를 이용할 수 없다. 이유는 한 번의 주기까지 구할수가 없기 때문이다. 정수론을 도입해서 구한다면 주기가 2,000,000,016이라고 한다. 이 크기의 배열을 선언할 수도 없고, 반복문으로 돌기에 시

2022년 2월 5일
·
0개의 댓글
·
post-thumbnail

[BOJ] 2749 - 피보나치 수 3 (C++)

피보나치 수 3img문제 해결을 위해 피사노 주기를 이용하였다. 간단하게 말하자면 피보나치 수열을 m으로 나눈 나머지가 주기를 이룬다는 것이다. 즉 나머지의 주기를 알 수 있다면 실제 값을 구하여 나누어 값을 계산하지 않고도 원하는 결과를 구할 수 있는 것이다. 따라서

2022년 2월 5일
·
0개의 댓글
·
post-thumbnail

[BOJ] 9935 - 문자열 폭발 (C++)

문자열 폭발img문자열을 첫 원소부터 살펴보면서 answer라는 정답 문자열에 추가한다. 이때 스택처럼 폭탄의 맨 뒤와 answer의 맨 뒤를 비교하면서 같을 경우 answer의 맨 뒤가 폭탄인지 확인한다. 폭탄일 경우 answer에서 pop 해주면 된다. 이때 간단하

2022년 1월 31일
·
0개의 댓글
·
post-thumbnail

[BOJ] 9663 - N-Queen (C++)

N-Queenimg퀸을 놓는 문제는 잘 알려져 있는 것에 비해 처음 풀어보았다. 먼저 든 생각은 먼저 놓은 퀸을 조건에 맞게 놓을 수 있다면 마지막으로 퀸을 두었을 때 그 방법의 수들을 증가시키면 되지 않을까 였다. 이를 위해 해당 열에 위치한 퀸의 행을 표시하는 1차

2022년 1월 30일
·
0개의 댓글
·
post-thumbnail

[BOJ] 13913 - 숨박꼭질 4

숨박꼭질 4img위치를 찾게되는 가장 빠른 시점을 알아야 하기 때문에 bfs를 선택했다. 고민했던 부분은 bfs이지만 지나온 경로를 알아야하기 때문에 이를 어떻게 처리할지 였다. bfs탐색의 경우 이미 방문한 곳은 다시 가지 않아도 되고 때문에 왔던 곳들을 역추적할 수

2022년 1월 27일
·
0개의 댓글
·

cpp snippet

sortunique & eraseunique는 first와 result, 두 개의 포인터로 작동한다.first: 단어 의미대로 벡터의 맨 첫 번째 원소를 가리키는 포인터이고 비교가 진행될 수록 다음 원소로 한 칸씩 이동한다.result: 비교 시 중복 원소가 아니라고

2022년 1월 27일
·
0개의 댓글
·
post-thumbnail

[BOJ] 2263 - 트리의 순회 (C++)

트리의 순회img솔직히 처음 접하자마자 풀기에 쉽지 않은 문제다. 이전에 리트코드에서 풀었던 기억이 있어 접근하는데 유리했다. 중위, 후위순회의 값을 알고 있기 때문에 우리는 어떤 노드가 루트 노드인지 알 수 있고 중위순회 값과 비교해 왼쪽, 오른쪽을 구별할 수가 있다

2022년 1월 26일
·
0개의 댓글
·
post-thumbnail

[BOJ] 1167 - 트리의 지름 (C++)

트리의 지름img이전에 풀었던 트리의 지름 문제와 유사해서 다시 풀었다. 입력의 형태만 다르고문제 접근이나 코드는 비슷하다.

2022년 1월 26일
·
0개의 댓글
·
post-thumbnail

[BOJ] 1967 - 트리의 지름 (C++)

트리의 지름지름을 구하기 위해서 한 노드에서 리프노드까지 도달하는 값의 합을 모두 살펴보았는데 이런 경우 시간초과가 발생하였다. 그래서 이 문제는 다른 분이 정리한 것을 참고하였다. 트리의 지름을 구하는 문제는 풀이법이 알려진 문제라고 한다. 이 풀이법을 근간으로 코드

2022년 1월 26일
·
0개의 댓글
·
post-thumbnail

[BOJ] 5639 - 이진 검색 트리

이진 검색 트리img전위 순회는 루트노드, 왼쪽, 오른쪽으로 순회하는 방식이고, 후위 순회는 왼쪽, 오른쪽, 루트 노드로 순회하는 방식이다. 따라서 전위 순서의 첫번째 원소는 루트 노드인 것을 알 수 있고 BST이기 때문에 왼쪽에는 루트보다 작은 값들만 나오는 것도 알

2022년 1월 26일
·
0개의 댓글
·
post-thumbnail

[BOJ] 9465 - 스티커 (C++)

스티커img한 스티커를 사용하게 되면 주변 상하좌우의 스티커를 사용하지 못한다는 조건을 더 생각할 필요가 있었다. 2행 n열로 구성되기 때문에 아래와 같은 선택지들만 존재하는 것을 알 수 있다. img2살펴보게 되면 1열의 원소들은 둘 중 하나 반드시 선택하게 되고 이

2022년 1월 26일
·
0개의 댓글
·
post-thumbnail

[BOJ] 5582 - 공통 부분 문자열 (C++)

공통 부분 문자열img이 문제는 전형적인 LCS(Longest Common substring) 이다. 진행 과정은 다음과 같다.현재 두 문자가 같을때 두 문자의 앞 글자까지가 공통 문자열이라면 계속 공통 문자열이 이어질 것이고, 아니라면 본인부터 다시 공통 문자열을 만

2022년 1월 18일
·
0개의 댓글
·
post-thumbnail

[BOJ] 14716 - 현수막 (C++)

현수막img굉장히 전형적인 dfs문제였다고 느꼈다. 다른 점이 있다면 상하좌우 뿐 아니라 대각선까지 총 8방향을 살펴야 했던 점이다. 살펴보면서 dfs로 살핀 영역의 개수를 카운트하면 글자 수가 나오게 된다.

2022년 1월 15일
·
0개의 댓글
·
post-thumbnail

[BOJ] 11722 - 가장 긴 감소하는 부분 수열 (C++)

가장 긴 감소하는 부분 수열img먼저 dp의 값을 1로 초기화 하고 이전 값들을 살펴보면서 값을 갱신시켜 주었다. 현재 값을 이전 감소 수열에 이을 수 있는지 확인하기 위해 두 값을 비교하고 dp 값을 dpi와 dpj+1 을 비교해서 갱신해준다. 중간에 위치한 값이

2022년 1월 15일
·
0개의 댓글
·