본문 바로가기

분류 전체보기

(156)
[Dreamhack] uaf_overwrite 풀이 - 티스토리 문제 코드 #include #include #include #include struct Human { char name[16]; int weight; long age; }; struct Robot { char name[16]; int weight; void (*fptr)(); }; struct Human *human; struct Robot *robot; char *custom[10]; int c_idx; void print_name() { printf("Name: %s\n", robot->name); } void menu() { printf("1. Human\n"); printf("2. Robot\n"); printf("3. Custom\n"); printf("> "); } void human_func..
[Code Up] - Python 기초 100제, 6096번 풀이 - 티스토리 더보기 문제 설명 19*19 크기의 바둑판이 있을 때, 바둑판의 상황이 주어진다. 흰 돌(1), 검은 돌(0)로 채워져 있을 때 십자 뒤집기 횟수가 입력되고 횟수만큼 십자 뒤집기 할 좌표가 입력된다. * 십자 뒤집기는 해당 좌표의 가로줄을 0 -> 1, 1 -> 0으로 바꾼 후 세로줄도 똑같은 조건으로 바꿔준다. 그러나 해당 좌표는 원래의 상태를 유지시킨다 풀이 d = list() for i in range(19): d.append([]) for j in range(19): d[i].append(0) for i in range(19): d[i] = list(map(int, input().split())) n = int(input()) for i in range(n): x, y = map(int, inpu..
[Code Up] - Python 기초 100제, 6095번 풀이 - 티스토리 더보기 문제 설명 19 * 19 크기의 바둑판에 흰 돌을 올려 놓을 때 흰 돌을 올려 놓은 곳은 1로 아닌 곳은 0으로 출력하자 풀이 d = list() for i in range(20): d.append([]) for j in range(20): d[i].append(0) n = int(input()) for i in range(n): x, y = map(int, input().split()) d[x][y] = 1 for i in range(1, 20): for j in range(1, 20): print(d[i][j], end=' ') print() 해설 바둑판 2차원 배열 d를 0으로 초기화 한다 흰돌의 개수 n을 입력받고 n번 반복하며 x, y (흰돌의 좌표)를 입력 받으며 해당 되는 좌표에 1을..
[Code Up] - Python 기초 100제, 6094번 풀이 - 티스토리 더보기 문제 설명 무작위로 n번 출석을 부를 때 부른 번호 중 가장 빠른 번호를 출력하자 풀이 num = int(input()) numList = input().split() for i in range(num): numList[i] = int(numList[i]) min = 10000 for i in range(num): if(numList[i] < min): min = numList[i] print(min) 해설 min변수에 큰 수를 저장한 후 호명된 번호를 저장해둔 numList와 하나씩 비교하며 작은 수를 min에 저장 후 다음 리스트와 비교한다 다른 분 풀이 num = int(input()) numlist = map(int, input().split()) a = min(numlist) print(..
[Code Up] - Python 기초 100제, 6093번 풀이 - 티스토리 더보기 문제 설명 출석 번호를 n번 무작위로 부를 때 부른 출석 번호를 거꾸로 출력하자 풀이 num = int(input()) numList = input().split() i = 0 while (num > i): print(numList[num-1], end=' ') num -= 1 해설 부른 출석을 저장 후 반복문으로 num번 반복하며 numList의 num-1번부터 -1씩 감소하며 출력한다 다른 분 풀이 num = int(input()) numlist = input().split() numlist.reverse() for i in range(0,num): print(numlist[i], end=' ') reverse함수를 이용했다
[Code Up] - Python 기초 100제, 6092번 풀이 - 티스토리 더보기 문제 설명 1 ~ 23번까지 출석번호가 존재하고, n번 출석을 무작위로 부를 때 각 번호별로 호명된 횟수를 출력하자 풀이 n = int(input()) a = input().split() for i in range(n): a[i] = int(a[i]) arr = [0] * 24 for i in range(1, 24): for j in range(0, n): if (i == a[j]): arr[i] += 1 for i in range(1, 24): print(arr[i], end=' ') 해설 입력받은 번호들을 a 배열에 정수형으로 저장 후 arr 배열을 0으로 0 ~ 23까지 초기화 해준다 이중 반복문을 통해 1 ~ 23까지 숫자를 a배열과 전부 하나씩 비교하며 a배열과 같은 숫자가 있을 때 해당..
[Code Up] - Python 기초 100제, 6091번 풀이 - 티스토리 더보기 문제 설명 입력 받은 3가지의 수의 최소공배수를 구하여 출력하자 풀이 a, b, c = map(int, input().split()) day = 1 while (True): if (day % a == 0 and day % b == 0 and day % c == 0): print(day) break day += 1 해설 a, b, c에 각각 입력을 받는다 무한루프 내에서 day를 1씩 증가 시키며 a, b, c 모두 day와 나누어 나머지가 0이 되는 시점 (셋다 day의 약수인 시점)에 day를 출력 후 무한루프를 탈출한다 다른 분 풀이 a, b, c = input().split() a = int(a) b = int(b) c = int(c) d = 1 while d%a!=0 or d%b!=0 or..
[Code Up] - Python 기초 100제, 6090번 풀이 - 티스토리 더보기 문제 설명 시작 값, 곱할 값, 더할 값, 번호가 주어질 때 해당 번호에 해당하는 값을 공식에 맞게 출력하자 풀이 a, m, d, n = map(int, input().split()) result = a for i in range(n - 1): result = result * m + d print(result) 해설 n-1번 반복을 통해 결과값을 출력한다 다른 분 풀이 a,m,d,n = map(int,input().split()) num=0 for i in range(1,n): a = (m*a)+d print(a)