[A+B-2]-2558번 2558번: A+B - 2 첫째 줄에 A, 둘째 줄에 B가 주어진다. (0 < A, B < 10) www.acmicpc.net My answer a,b=int(input()),int(input()) print(a+b) Another answer print(sum(map(int,open(0)))) [A+B-3]-10950번 10950번: A+B - 3 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net My answer for _ in range(int(input())): print(sum(map(int,input().split()))) [A+B-4]-10951번 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, ..
분류 전체보기
BruteForce 알고리즘의 정의는 조합 가능한 모든 문자열을 하나씩 대입해 보는 방식으로 암호를 해독하는 방법이다. 기본적으로 모든 경우의 수를 계산한다고 생각하면 되서 연관된 알고리즘으로는 순차탐색,DFS(깊이우선탐색),BFS(너비우선탐색)이 있다. 순차탐색관련 문제를 풀 때는 아래와 같은 방법으로 해결하면 된다. 1)문제에서 주어진 자료를 선형 구조로 구조화 2) 구조화된 자료들을 구조에 맞는 방법으로 해를 구할 때까지 탐색 3) 탐색한 해를 주어진 문제의 출력 형식에 맞게 정리 여기서 선형구조라 함은 -데이터가 연속적으로 연결되어 있는 모양으로 구성하는 방법으로, 아래와 같은 것들이 있다. 우선 브루트포스의 단점으로는 수가 커질수록 시간이 오래걸린다는 것이다. 처음 정의 그대로 모든방법을 실행하..
[사탕게임]-3085번 3085번: 사탕 게임 예제 3의 경우 4번 행의 Y와 C를 바꾸면 사탕 네 개를 먹을 수 있다. www.acmicpc.net My answer def init(board,n,sums): cnt=1 for i in range(n): for j in range(n-1): if(board[i][j]==board[i][j+1]): cnt+=1 else: sums.append(cnt) cnt=1 if(cnt!=1): sums.append(cnt) cnt=1 return sums def calc(board,n,sums): tmp=copy.deepcopy(board) for i in range(n): for j in range(n-1): if(tmp[i][j]!=tmp[i][j+1]): tm..
우선 비트마스킹은 이름에서 알 수 있듯이 비트를 이용한 알고리즘이다. 정확히 하자면 이진수를 사용하는 컴퓨터의 연산 방식을 이용하여, 정수의 이진수 표현을 자료 구조로 쓰는 기법이다. 비트마스킹을 사용하면 더 빠르고 간결한 코드와 메모리 효율성을 얻을 수 있다. 우선 비트마스킹에 대해 설명하기전에 비트마스킹을 할 때 쓰이는 비트연산자의 종류에 대해 알아보자. 우선 비트마스킹이 빠른 이유는 집합등을 관리(삭제,추가 등)을 할 때 집합안의 유무를 0,1두개로 표현하여 간편하다. 각각의 자리르 지정해두고 그 자리의 비트가 1이면 집합에 있는것, 0이면 그 집합에 존재하지 않는 것을 의미한다. 예를들어 A,B,C,D,E,F가 있을 때 각각 A는 첫번째 자리, B는 두번째 자리 이렇게 쭉 정해놨으면 {A}라는 부..
[가르침]-1062번 1062번: 가르침 첫째 줄에 단어의 개수 N과 K가 주어진다. N은 50보다 작거나 같은 자연수이고, K는 26보다 작거나 같은 자연수 또는 0이다. 둘째 줄부터 N개의 줄에 남극 언어의 단어가 주어진다. 단어는 영어 소문 www.acmicpc.net Another answer from itertools import combinations n, k = map(int, input().split()) alpha = {'b': 20, 'd': 19, 'e': 18, 'f': 17, 'g': 16, 'h': 15, 'j': 14, 'k': 13, 'l': 12, 'm': 11, 'o': 10, 'p': 9, 'q': 8, 'r': 7, 's': 6, 'u': 5, 'v': 4, 'w': ..
[빗물]-14719번 14719번: 빗물 첫 번째 줄에는 2차원 세계의 세로 길이 H과 2차원 세계의 가로 길이 W가 주어진다. (1 ≤ H, W ≤ 500) 두 번째 줄에는 블록이 쌓인 높이를 의미하는 0이상 H이하의 정수가 2차원 세계의 맨 왼쪽 위치 www.acmicpc.net My answer row,column=map(int,input().split()) tmp=list(map(int,input().split())) res,index=0,0 start=tmp[0] for i in range(len(tmp)-1): if(tmp[i+1]>=start or (i+1==len(tmp)-1 and tmp[i+1]!=0)): #기둥이 정해진지점보다 같아지거나 높아질 때 혹은 마지막이면서 마지막기둥이 0이 ..