PS 23

Codeforces Round #690 (Div. 3)

Codeforces Round #690 (Div. 3) 2020년 12월 15일 23:35에 열린 Contest 시간만 더 주어진다면 문제를 다 풀 수 있었을 것 같다. 효율성을 고려한 풀이방법이 바로 생각나지 않아 코드를 제출하며 수정한게 많았다. 처음부터 생각할 수 있도록 더 연습하자! 목차 A Favorite Sequence B Last Years Substring C Unique Number D Add to Neighbour and Remove E1 Close Tuples easy version A Favorite Sequence 문제 링크 입력받은 리스트의 왼쪽, 오른쪽 요소들을 끝에서 부터 하나씩 번갈아가며 출력하는 문제였다. 풀이 for _ in range(int(input())): N = ..

PS/codeforces 2020.12.16

(Python) Level 4 문제 풀이

Level 4 고득점, 프로그래머스 랭킹을 올리기 위해! 목차 3 x n 타일링 징검다리 도둑질 숫자 블록 올바른 괄호의 갯수 쿠키 구입 호텔 방 배정 스티커 모으기2 지형 편집 무지의 먹방 라이브 3차 자동완성 3 x n 타일링 문제 링크 풀이 def solution(n): if n & 1: return 0 else: memo = [1] for i in range(n//2): if not i: memo.append(3) elif i == 1: memo.append(memo[-1] * 3 + memo[-1] - memo[-2]) else: memo.pop(0) memo.append(memo[-1] * 3 + memo[-1] - memo[-2]) return memo[-1] % 1000000007 공식만 ..

PS/programmers 2020.12.12

Codeforces Round #689 (Div. 2, based on Zed Code Competition)

Codeforces Round #689 (Div. 2, based on Zed Code Competition) 간단한 문제도 헤매다가 못풀고 3번 문제는 뭐라는건지 이해도 안되고.... 아쉬움이 많은 대회였다. 목차 A String Generation B Find the Spruce D Divide and Summarize A String Generation 문제 링크 가장큰 palindrome substring의 길이가 K 이하가 되도록 a, b, c 문자를 사용해 길이가 N인 문자열을 만드는 문제였다. 풀이 string = ['a', 'b', 'c'] for _ in range(int(input())): N, K = map(int, input().split(..

PS/codeforces 2020.12.12

(C++) 단계별로 풀어보기 - 입출력과 사칙연산

입출력과 사칙연산 https://www.acmicpc.net/step/1 기본적인 입출력과 +, -, *, /, //, % 등 사칙연산을 다뤄봅니다. 목록 Hello World We love kriii 고양이 개 A+B A-B A*B A/B 사칙연산 나머지 곱셈 Hello World 난이도 : Bronze V 문제 Hello World!를 출력하시오 입력 없음 풀이 #include using namespace std; int main() { cout > A >> B; cout > A >> B; cout > A >> B; cout > A >> B; cout.precision(10); cout > A >> B; cout

PS/baekjoon 2020.12.09

(Python) 단계별로 풀어보기 - 재귀

재귀 목차 팩토리얼 피보나치 수 5 별 찍기 10 하노이 탑 이동 순서 팩토리얼 난이도 : Bronze III 문제 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 정수 N(0 ≤ N ≤ 12)가 주어진다. 풀이 def fac(N): if N < 2: return 1 return N * fac(N - 1) print(fac(int(input()))) 기본적인 재귀함수의 사용법을 알아보는 문제였다. answer = 1 for i in range(1, int(input()) + 1): answer *= i print(answer) 위와 같은 단순 반복문이 더 빠르고 재귀횟수를 초과할 걱정도 없어 입력값이 매우 커지면 더 안전하다. 피보나치 수 5 난이도..

PS/baekjoon 2020.12.09

(Python) 단계별로 풀어보기 - 브루트 포스

브루트 포스 가능한 경우의 수를 모두 탐색하며 정답을 찾아보자 목차 블랙잭 분해합 덩치 체스판 다시 칠하기 영화감독 숌 블랙잭 난이도 : Bronze II 문제 카지노에서 제일 인기 있는 게임 블랙잭의 규칙은 상당히 쉽다. 카드의 합이 21을 넘지 않는 한도 내에서, 카드의 합을 최대한 크게 만드는 게임이다. 블랙잭은 카지노마다 다양한 규정이 있다. 한국 최고의 블랙잭 고수 김정인은 새로운 블랙잭 규칙을 만들어 상근, 창영이와 게임하려고 한다. 김정인 버전의 블랙잭에서 각 카드에는 양의 정수가 쓰여 있다. 그 다음, 딜러는 N장의 카드를 모두 숫자가 보이도록 바닥에 놓는다. 그런 후에 딜러는 숫자 M을 크게 외친다. 이제 플레이어는 제한된 시간 안에 N장의 카드 중에서 3장의 카드를 골라야 한다. 블랙잭..

PS/baekjoon 2020.12.09

Programmers 문제 풀이

Programmers 카카오, 네이버, 라인 등 많은 회사의 코딩테스트를 담당하는 프로그래머스의 UI에 익숙해지기 위해 문제를 풀어보자 사이트 링크 현재 프로필(2020-12-09) 목차 Level 1 Level 2 Level 3 Level 4 Level 1 기본적인 반복문, 수식 사용법을 활용한 문제 풀이 바로가기 Level 2 해시, 힙, 정렬, 그래프 탐색등 기본적인 알고리즘 활용 바로가기 Level 3 기업 코딩테스트를 통과하기 위해 바로가기 Level 4 고득점을 위하여! 바로가기

PS/programmers 2020.12.09

Codeforces Global Round 12

Codeforces Global Round 12 목차 A Avoid Trygub B Balls of Steel A Avoid Trygub 문제 링크 입력의 문자열에는 avoidtrygub이 숨어있다. avoidtrygub을 찾을 수 없도록 문자열을 섞어주어야한다. 풀이 for _ in range(int(input())): N = int(input()) word = input() for i in range(len(word)): if word[i] == &#39;b&#39;: word = &#39;b&#39; + word[:i] + word[i+1:] print(word) 단순하게 문자열에서 b 를 찾아 모두 문자열 가장 앞으로 옮겨주어 해결하였다. 이렇게 하면 항상 avoidtrygu 까지만 완성되어 av..

PS/codeforces 2020.12.07

Codeforces Round #688 (Div. 2)

Codeforces Round #688 (Div. 2) 어리굴젓을 먹었다가 노로 바이러스로 인한 식중독 때문에 참여하지 못할뻔 했다. 그래도 한문제만 풀어서 감점은 당하지 말자는 생각으로 스마트폰으로 참여했는데 두문제를 풀어 점수도 생각보다 많이 올랐다! 디버깅을 해볼 수 없고 코드를 보기도 불편해 자잘한 에러가 많이났고 감점도 많이 당했지만 만족스러운 결과였다. 목차 A Cancel the Trains B Suffix Operations A Cancel the Trains 문제 링크 두 줄에 걸쳐 왼쪽에서 출발하는 열차, 아래에서 출발하는 열차의 플렛폼 번호가 입력으로 들어온다. 이 때 겹치는 플렛폼 번호의 갯수를 구하면 되는 문제였다. 풀이 for _ in range(int(input())): N, ..

PS/codeforces 2020.12.05