본문 바로가기

Algorithm/백준(BOJ)111

[ 파이썬(python) ] 백준 1966 - 프린터 큐 📍 백준 1966 - 프린터 큐 백준 1966 - 프린터 큐 ⚡️ 나의 풀이 문제가 잘 이해가 되지 않아 4 ~ 5번 정도 다시 봤다. 결론적으로 현재 index와 동일한 우선순위값이 제일 클 때 cnt+=1을 해주면 된다. 다른 테스트 케이스는 괜찮았는데 중복된 우선순위가 있는 문서를 처리할 때 고민을 많이 했다. 예제 입력 1 - 테스트케이스 중 제일 마지막 1, 1, 9, 1, 1, 1을 예로 들어보자. (그림, 글씨 양해 부탁드립읍니다.) 자신보다 높은 우선순위가 없을 때까지 회전한다.(이때는 cnt가 올라가지 않는다. why? 인쇄를 하지 않았기 때문) pop 할 위치(가장 첫 번째 index)에 위치했을 때 해당 값의 우선순위가 제일 높다면 pop처리하고 cnt+=1 해준다. 2번 과정에서 만.. 2021. 6. 24.
[ 파이썬(python) ] 백준 2563 - 색종이 📍 백준 2563 - 색종이 백준 2563 - 색종이 ⚡️ 나의 풀이 색종이가 붙은 검은 영역의 넓이를 구하는 문제라서 처음에 (100 * n) - 색종이끼리 겹치는 넓이로 구하면 될 줄 알았는데 색종이가 겹치는 경우 + 겹치지 않는 경우 등등.. 경우의 수가 많아 이 방법은 힘들다고 생각했다. 2차원 배열을 선언한 다음 가로, 세로의 길이를 1로 초기화해주는 방법을 봤는데, 이런 방법도 있구나 하며 감탄했다. 그래서 white_board[i][j] += 1로 선언한 다음 300 - cnt >= 2로 구했더니 오답판정이 나왔다. 결론적으로 1씩 누적할 필요 없이 전체 사각형이 그려진 값(1)만 출력하면 됐었다. n = int(input()) white_board = [[0] * 100 for _ in r.. 2021. 6. 23.
[ 파이썬(python) ] 백준 4458 - 첫 글자를 대문자로 📍 백준 4458 - 첫 글자를 대문자로 백준 4458 - 첫 글자를 대문자로 ⚡️ 나의 풀이 제일 첫 글자에 upper() 함수를 이용해 대문자로 바꾸고 나머지 index는 그대로 더해준다. n = int(input()) for _ in range(n): s = input() temp = s[0].upper() ans = temp + s[1:] print(ans) 2021. 6. 22.
[ 파이썬(python) ] 백준 2292 - 벌집 📍 백준 2292 - 벌집 백준 2292 - 벌집 ⚡️ 나의 풀이 계차수열을 수학적으로 구현 할 수 있는지 묻는 문제이다. 규칙을 자세히보면 1, 7, 19, 37, 81...인데 여기서 계차는 6의 배수만큼 증가한다. 즉, equation = equation + (6 * i)에서 결과값에 +1씩 더한 값이 된다. 하지만 반복문 안에 +1을 넣으면 +1이 들어간채로 누적되기때문에 값이 달라진다. 따라서 조건절에서 +1을 넣고 n과 비교했다. 다른 사람의 풀이를 봤는데 while문으로 간단하게 풀었다. 놀랐다. cnt를 따로 쓸 생각을 하지 않고 i값으로 출력 할수도 있구나라는 생각을 했다. 그리고 왜 1일때의 조건은 따로 안넣어줬는지 의문이 생겼는데, 1일때는 while문에 걸리지 않기때문에 생략했다. .. 2021. 6. 18.
[ 파이썬(python) ] 백준 6359 - 만취한 상범 📍 백준 6359 - 만취한 상범 백준 6359 - 만취한 상범 ⚡️ 나의 풀이 언뜻 보면 저번에 풀었던 백준 1244 - 스위치 켜고 끄기문제와 비슷한데, 범위 전체를 살펴보면서 상태를 바꾼다는 점이 조금 다르다. (1244 문제는 주어진 n의 배수만 상태를 바꾸면 됐음) 주어진 문제 그대로 구현하다보니까 생각을 잘 못했는데 1 ~ 2 라운드도 3 ~ k 라운드와 마찬가지로 열려있으면 잠그고, 잠겨있다면 여는 방법을 사용해도 답은 같게 나온다. 1, 0 상태를 바꿀 때 🍯 tip인데 if not gate[j]: gate[j] = 1 or if gate[j]: gate[j] = 0 대신 gate[j] = (gate[j] + 1) % 2를 사용해도 결과는 같지만 코드는 훨씬 간결해진다. 이전 에 공부한 내.. 2021. 6. 18.