https://swexpertacademy.com/main/code/problem/problemDetail.do
처음에 그래프와 노드 클래스를 만들어서 문제를 해결하려고 했는데, 메모리 오버플로우가 나면서 해결되지 못했었다. 그래서 연결 부분, 부모 노드 부분만 따로 딕셔너리로 만들어서 해결할 수 있었다. BFS를 생각하면서 풀긴 했는데, BFS가 맞는걸까...?
https://www.acmicpc.net/problem/14696각 문자열을 받아와, 모양의 갯수를 저장하는 defaultdict에 저장각 모양의 갯수를 비교하여, 더 많은 쪽이 이긴것으로 판단이긴 쪽을 프린트, 비기면 D 출력문제에서 단계별 설명이 잘 되어
배열을 회전시키는 함수 clockwise가 핵심회전시킨 결과를 저장할 result 리스트 생성회전시킨 결과를 출력할 때 90도 | 180도 | 270도 의 형태로 나타나기 때문에 전부 다 회전시킨 후 결과를 출력해야 함프로그래머스 문제 중 자물쇠와 열쇠 를 푼
📌풀이 내가 쓴 풀이(성공) 각 스도쿠 퍼즐에서 조건을 만족하는지 확인 가로줄에서 조건을 만족하는지 세로줄에서 조건을 만족하는지 작은 격자(3X3)에서 조건을 만족하는지 조건을 만족하는 경우 1, 아닌 경우 0을 출력 📌후기 특이한 케이스가 존재하지 않고, 주어진 조건대로 진행하면 해결할 수 있어 무난한 문제였다.
📌풀이 내가 쓴 풀이(성공) checkwordlen 함수는 퍼즐에서 길이에 맞는 가로, 세로줄을 찾아서 개수를 리턴 flag는 0이면 0인 상태, 1이면 1인 상태를 표시 0에서 1로 전환될 때, 시작 인덱스를 저장하고, 1에서 0으로 바뀔 때의 인덱스에서 빼서 길이를 구함 맨 마지막이 1로 끝나는 경우, 마지막의 길이를 한번 더 측정 ...
📌풀이 내가 쓴 풀이(성공) 테스트 케이스의 수, 그리고 각 케이스에서 N, K값을 받아옴 점수들을 인풋으로 받아와 리스트로 변환 후 .sort() 사용해 정렬 마지막 값이 가장 높은 점수가 됨 K번 리스트에서 .pop()을 해 최대값을 빼서 더하고 출력 📌후기 D3의 난이도라기엔 D1~D2스러운 문제였다!
📌풀이 내가 쓴 풀이(성공) 농작물의 합을 구할 때, 규칙성이 있다는 점을 활용 인덱스의 중간값을 기준으로, sum을 하는 범위를 다르게 적용 📌후기 농작물의 합을 더하는 과정에서 규칙성을 활용해 조금 더 괜찮은 코드를 작성한 느낌! 처음에 농작물들을 모아
📌풀이 내가 쓴 풀이(성공) 단조증가하는 수인지 판단하기 위한 함수 check 두 수의 곱을 전부 단조 증가인지 판단, 그 중 최대값을 출력 📌후기 처음에 문제가 무슨 말인지 이해하는 데 시간이 조금 걸렸다!
정렬을 위한 딕셔너리 num_dict를 설정인풋으로 받아온 문자열을 리스트로 바꿔 저장 후 정렬정렬 기준은 num_dict의 values백준 문제 중 크로아티아 알파벳, 카카오 채용연계형 문제 중 숫자 문자열과 영단어 에서 해결한 방식을 적용하였다. 위의 두 문제에서는
📌풀이 내가 쓴 풀이(성공) 📌후기 min, max를 활용하지 않고 구현을 해보려고 했는데, 그러다보니 코드가 살짝 길어진 감이 있는 것 같다.
📌풀이 내가 쓴 풀이(성공) boxes에서 가장 큰 값을 가지는 부분에서 하나를 빼서 가장 작은 값을 가지는 부분에 더하는 과정을 횟수만큼 진행 📌후기 가로길이가 제한이 있어서 시간 초과 이슈가 없이 해결될 수 있었다!
처음에 되게 복잡하게 구현했었는데, 방향을 표시한 리스트를 적용함으로써 코드를 조금 더 간결하게 구현할 수 있었다.
📌풀이 내가 쓴 풀이(성공) 도착점부터 값을 읽어감 왼쪽이나 오른쪽으로 움직이는 구간이 있는 경우, 위로 올라가는 구간이 나올때까지 이동 📌후기 은근 스트레스 많이 받았던 문제,,, 코드를 이상하게 짜서 제출조차 되지 않는 상황이 되었었다. 처음에는 테스트케이스가 너무 커서 그런 이유로 발생한 오류인줄 알았지만, 역시 내 문제였던 걸로....그...
📌풀이 내가 쓴 풀이(성공) 두 개의 방이 같은 복도를 쓴다는 점을 활용하여 연산 해당 복도를 지날 때, 값을 1씩 더해주고, 최대값을 출력 📌후기 사소한 설정들 때문에 시간이 조금 잡아먹혔었던 문제였다ㅠ 앞에서 뒤로 가는 방향만 처음에 생각해서 문제를 틀렸었고, 복도에 값을 더해주는 과정에서 for문을 잘못 활용하여 오류가 발생했었다..! 사...
주어진 재료를 조합하여 나오는 음식들의 합을 위한 함수 food-making조합들을 구하기 위해 combinations 활용set를 활용해 양 쪽 인덱스 값들을 분리처음에 무조건 2개씩 요리되는 경우들 사이에서 값을 비교하는 줄 알고, 테스트 케이스가 답이 틀려 고민이
회문인지 판단하는 함수 palindrome input: word(단어), m(단어의 길이) output: True or False 단어의 앞쪽 인덱스와 뒷쪽 인덱스의 값을 비교하며 일치 여부 확인가로줄을 확인하기 위한 배열 words세로줄을 확인하기 위한 배열 w
역방향으로 탐색(도착점에서 시작점으로)정방향으로 하여도 상관 없음edge 들이 저장되어 있는 input 값을 받아오고, 각 값들은 시작점, 끝점의 쌍이 계속 진행되는 형태임을 고려connected에 key를 도착점으로 하고, value에 시작점 추가정방향으로 하고 싶은
대각선 판단 위한 함수 cross시작점 x, y 필요flag: 왼쪽 아래 0, 오른쪽 아래 1찾은 경우 1 반환, 못 찾은 경우 0 반환세로 줄의 쉬운 판단을 위해 세로줄로 변환한 배열 생성오목을 찾은 경우, YES모든 탐색을 하였는데 못 찾은 경우, NO
자석들의 상태를 변경하며 진행하는 방식자석의 배열을 바꾸고(상하 --> 좌우), 인덱스의 앞쪽과 뒤쪽에서 접근앞쪽 기준 S극을 만나는 경우, 제거, N극을 만나는 경우 멈춤뒷쪽 기준 N극을 만나는 경우, 제거, S극을 만나는 경우 멈춤사라진 자석들을 제거한 후, 남은
Bit Masking 사용하여 경우의 수 판단계산한 높이 tmp가 B보다 크거나 같으면서 가장 낮은 탑 res보다 낮은 경우, tmp를 res에 저장비트마스킹을 써본 횟수가 적어서 아쉬웠는데, 이 기회에 비트마스킹을 써볼 수 있어서 좋았다. 다른 경우에서도 더 많이 활