[ AtCoder ] Boot camp for Beginners - ( ABC 139 ) B - Power Socket
·
-- 예전 기록/AtCoder
https://atcoder.jp/contests/abc139/tasks/abc139_b B - Power Socket AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online. atcoder.jp AtCoder Problems 의 Boot camp for Beginners 탭을 활용하여 연습하기로 하였다. 처음엔 문제를 제대로 읽지 않고 구현했다가, 멀티탭이 소켓 하나를 이용한다는 특징을 생각하지 못하고 WA를 받았다. A와 B의 제한이 작아 단순 반복문 구현으로 해결해도 되는 문제이다. import sys input = sys.stdin.readl..
[ CodeUp ] 코드업으로 꾸준히 PS 연습하기 10일차 ( 1093 ~ 1103 )
·
-- 예전 기록/CodeUp
1093 1부터 23까지 숫자가 입력된 횟수를 카운팅하여 출력한다. 1094 입력받은 수열을 뒤집어 출력한다. 1095 입력받은 숫자들 중 가장 작은 수를 출력한다. 1096 0으로 초기화된 2차원 배열 (19 x 19) 에서, 입력받은 좌표에 1을 대입한다. 1097 입력받은 x, y 좌표에 따라, 해당 x 줄과 해당 y 줄을 XOR 1 연산으로 반전시킨다. 1098 막대가 놓여진 방향에 맞게 1로 대입하도록 구현한다. 1099 오른쪽으로 가다가, 오른쪽이 막히면 아래쪽으로 가도록 구현한다. 시작 지점이 2일 때를 유의한다. 1101, 1102, 1103 기본 출력 연습 문제이다.
[ CodeUp ] 코드업으로 꾸준히 PS 연습하기 9일차 ( 1083 ~ 1092 )
·
-- 예전 기록/CodeUp
1083 1부터 9 사이 수가 입력되므로, 3 이나 6 이나 9 라면 출력을 스킵한다. 1084 삼중 반복문을 이용하여 전체 탐색한다. 1085 h*b*c*s/1024/1024/(double)8 을 출력한다. 1086 w*h*b/1024/1024/(double)8 을 출력한다. 1087 1부터 차례대로 더하면서 입력받은 값보다 크거나 같아질 때 더하던 값을 출력한다. 1088 3으로 나누었을 때 나머지가 0이라면 출력을 스킵한다. 1089 a+(d*(n-1)) 을 출력한다. 1090 a에 r을 n-1 번 곱하고 a를 출력한다. 1091 a에 m을 곱하고 d를 더하는 것을 n-1 번 수행한 후 a를 출력한다. 1092 수 3개의 최소공배수를 출력한다. 1부터 차례대로 검토해봐도 된다.
[ CodeUp ] 코드업으로 꾸준히 PS 연습하기 8일차 ( 1073 ~ 1082 )
·
-- 예전 기록/CodeUp
1073, 1074, 1075, 1076, 1077 반복문 while, for 을 활용하여 풀이할 수 있는 문제이다. 1078 1부터 n까지의 합 공식을 사용하여 풀이할 수 있는 문제이다. 1079 C 환경에서는 문자를 입력한 후 getchar() 등을 이용해 화이트 스페이스를 버려야 한다. 1080, 1082 단일 반복문으로 풀이할 수 있다. 1081 이중 반복문으로 풀이할 수 있다.
[ BOJ ] 14890 : 경사로 ( GOLD 3 ) / Python
·
-- 예전 기록/BOJ
문제 크기가 N×N인 지도가 있다. 지도의 각 칸에는 그 곳의 높이가 적혀져 있다. 오늘은 이 지도에서 지나갈 수 있는 길이 몇 개 있는지 알아보려고 한다. 길이란 한 행 또는 한 열 전부를 나타내며, 한쪽 끝에서 다른쪽 끝까지 지나가는 것이다. 다음과 같은 N=6인 경우 지도를 살펴보자. 이때, 길은 총 2N개가 있으며, 아래와 같다. 길을 지나갈 수 있으려면 길에 속한 모든 칸의 높이가 모두 같아야 한다. 또는, 경사로를 놓아서 지나갈 수 있는 길을 만들 수 있다. 경사로는 높이가 항상 1이며, 길이는 L이다. 또, 개수는 매우 많아 부족할 일이 없다. 경사로는 낮은 칸과 높은 칸을 연결하며, 아래와 같은 조건을 만족해야한다. 경사로는 낮은 칸에 놓으며, L개의 연속된 칸에 경사로의 바닥이 모두 접해..
[ CodeUp ] 코드업으로 꾸준히 PS 연습하기 7일차 ( 1063 ~ 1072 )
·
-- 예전 기록/CodeUp
1063, 1064 삼항 연산자 ( or 조건 분기 ) 를 연습할 수 있는 문제이다. 1065, 1066, 1067, 1068, 1069, 1070 조건문 if, if-else, if-else if-else 를 연습할 수 있는 문제이다. 1071, 1072 반복문 while, for 을 사용하여 풀이할 수 있는 문제이다.
[ BOJ ] 1339 : 단어 수학 ( GOLD 4 ) / Python
·
-- 예전 기록/BOJ
문제 민식이는 수학학원에서 단어 수학 문제를 푸는 숙제를 받았다. 단어 수학 문제는 N개의 단어로 이루어져 있으며, 각 단어는 알파벳 대문자로만 이루어져 있다. 이때, 각 알파벳 대문자를 0부터 9까지의 숫자 중 하나로 바꿔서 N개의 수를 합하는 문제이다. 같은 알파벳은 같은 숫자로 바꿔야 하며, 두 개 이상의 알파벳이 같은 숫자로 바뀌어지면 안 된다. 예를 들어, GCF + ACDEB를 계산한다고 할 때, A = 9, B = 4, C = 8, D = 6, E = 5, F = 3, G = 7로 결정한다면, 두 수의 합은 99437이 되어서 최대가 될 것이다. N개의 단어가 주어졌을 때, 그 수의 합을 최대로 만드는 프로그램을 작성하시오. 입력 첫째 줄에 단어의 개수 N(1 ≤ N ≤ 10)이 주어진다. ..
[ CodeUp ] 코드업으로 꾸준히 PS 연습하기 6일차 ( 1053 ~ 1062 )
·
-- 예전 기록/CodeUp
1053, 1054, 1055, 1056, 1056, 1058 논리 연산자를 연습할 수 있는 문제이다. 1059, 1060, 1061, 1062 비트 논리 연산자를 연습할 수 있는 문제이다.
[ BOJ ] 1261 : 알고스팟 ( GOLD 4 ) / Python
·
-- 예전 기록/BOJ
문제 알고스팟 운영진이 모두 미로에 갇혔다. 미로는 N*M 크기이며, 총 1*1크기의 방으로 이루어져 있다. 미로는 빈 방 또는 벽으로 이루어져 있고, 빈 방은 자유롭게 다닐 수 있지만, 벽은 부수지 않으면 이동할 수 없다. 알고스팟 운영진은 여러명이지만, 항상 모두 같은 방에 있어야 한다. 즉, 여러 명이 다른 방에 있을 수는 없다. 어떤 방에서 이동할 수 있는 방은 상하좌우로 인접한 빈 방이다. 즉, 현재 운영진이 (x, y)에 있을 때, 이동할 수 있는 방은 (x+1, y), (x, y+1), (x-1, y), (x, y-1) 이다. 단, 미로의 밖으로 이동 할 수는 없다. 벽은 평소에는 이동할 수 없지만, 알고스팟의 무기 AOJ를 이용해 벽을 부수어 버릴 수 있다. 벽을 부수면, 빈 방과 동일한 ..
[ CodeUp ] 코드업으로 꾸준히 PS 연습하기 5일차 ( 1043 ~ 1052 )
·
-- 예전 기록/CodeUp
1043, 1044, 1045, 1046 산술 연산 연습 문제이다. 1047, 1048 비트 연산자를 연습할 수 있는 문제이다. 1049, 1050, 1051, 1052 비교 연산자를 연습할 수 있는 문제이다.
[ BOJ ] 1005 : ACM Craft ( GOLD 3 ) / Python
·
-- 예전 기록/BOJ
문제 서기 2012년! 드디어 2년간 수많은 국민들을 기다리게 한 게임 ACM Craft (Association of Construction Manager Craft)가 발매되었다. 이 게임은 지금까지 나온 게임들과는 다르게 ACM크래프트는 다이나믹한 게임 진행을 위해 건물을 짓는 순서가 정해져 있지 않다. 즉, 첫 번째 게임과 두 번째 게임이 건물을 짓는 순서가 다를 수도 있다. 매 게임시작 시 건물을 짓는 순서가 주어진다. 또한 모든 건물은 각각 건설을 시작하여 완성이 될 때까지 Delay가 존재한다. 위의 예시를 보자. 이번 게임에서는 다음과 같이 건설 순서 규칙이 주어졌다. 1번 건물의 건설이 완료된다면 2번과 3번의 건설을 시작할수 있다. (동시에 진행이 가능하다) 그리고 4번 건물을 짓기 위해..
[ BOJ ] 3158 : Sierpinski 삼각형 ( GOLD 4 ) / Python
·
-- 예전 기록/BOJ
문제 Wacław Sierpiński는 폴란드 수학자이다. 어느 날 그는 아래와 같은 방법으로 삼각형을 그리기로 했다. 정삼각형 T를 그린다. 삼각형 변의 중점을 서로 연결한다. 새롭게 생긴 정삼각형을 T1, T2, T3, T4라고 한다. 아래 그림 중 왼쪽 그림이 해당한다. 위의 단계를 삼각형 T1, T2, T3에 대해서 반복한다. 새로운 삼각형은 T11, T12, T13, T14, T21, T22, T23, T24, T31, T32, T33, T34가 된다. 1, 2, 3으로 끝나는 모든 삼각형에 대해서 이 방법을 반복한다. 이렇게 생긴 프랙탈을 Sierpinski 삼각형이라고 한다. 삼각형 B가 삼각형 A를 포함하지 않고, A의 한 변 전체가 B의 한 변의 일부일 때, A는 B에 기대고 있다고 한다..