본문 바로가기

Problem Solving42

[백준] 2667번 : 단지 번호 붙이기 https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집들의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. � www.acmicpc.net #include using namespace std; int n; int house[26][26] = { 0 }; int danji_max[1000]; //index 1을 1단지로 하기! index 1부터 출력! int danji_index = 0; int dir[4][2] = { {1,0},{-1,0},{0,1},{0,-1} }; //한 점으로 부터의 UP,DOWN,RIGHT,LEFT int i.. 2020. 6. 21.
[백준] 1654번 : 랜선 자르기 https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net #include #include typedef long long ll; using namespace std; int a[50005]; int k, n; int pos(ll mid) //판정함수 { int sum = 0; for (int i = 0; i < k; i++) sum += (a[i] / mid); if (sum < n) return 0; else return .. 2020. 6. 19.
[백준] 2512번 : 예산 https://www.acmicpc.net/problem/2512 2512번: 예산 첫째 줄에는 지방의 수를 의미하는 정수 N이 주어진다. N은 3 이상 10,000 이하이다. 다음 줄에는 각 지방의 예산요청을 표현하는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 값들은 모두 1 이상 www.acmicpc.net #include #include typedef long long ll; using namespace std; ll a[10004]; int n; ll m; int pos(int mid) { ll sum = 0; for (int i = 0; i = a[i]) sum += a[i]; else sum += mid; } return (sum > n; for (i.. 2020. 6. 17.
[백준] 5575번 : 타임카드 https://www.acmicpc.net/problem/5575 5575번: 타임 카드 문제 JOI 상사는 직원의 근무시간을 타임 카드로 관리하고있다. 직원들은 전용 장비를 사용하여 타임 카드에 출근 시간을 기록한다. 근무를 마치고 퇴근할 때도 타임 카드에 퇴근 시간을 기록한다. 타임카드에서 사용하는 시간단위는 24 시간제를 사용한다. 보안상의 이유로 직원들의 출근 시간은 7시 이후이다. 또한, 모든 직원은 23시 이전에 퇴근한다. 직원의 퇴근 시간은 항상 출근 시간보다 늦다. 입력으로 JOI 상사의 3 명의 직원 A 씨, B 씨, C 씨의 www.acmicpc.net for i in range(3): a = list(map(int, input().split())) h = a[3] - a[0] m = .. 2020. 4. 5.
[백준] 2446번 : 별 찍기 - 9 https://www.acmicpc.net/problem/2446 2446번: 별 찍기 - 9 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net #include int main() { int num; scanf("%d", &num); int jflag = 1, jcnt = 1; int bflag = -2, bcnt = 2*num-1; for (int i = 1; i (2 * num - 1) / 2) jflag = -1; } jcnt += jflag; for (int b = 1; b (2 * num - 1) / 2) { bflag = 2; } } bcnt += bflag; printf("\n"); } } Hint > i 는 줄을 나타낸것이다. 2*num-1까지 증가해야.. 2020. 3. 15.
[백준] 10996번 : 별 찍기 - 21 https://www.acmicpc.net/problem/10996 10996번: 별 찍기 - 21 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. www.acmicpc.net #include int main() { int n; scanf("%d", &n); for (int i = 0; i 2차원 배열로 생각하면 도움이 될 수 있다. 2차원 배열에서 별과 빈칸이 각각 제 위치에 들어간다고 생각해보자! > 주석 참고! i는 행, j는 열이다. 행과 열이 각각 짝수와 홀수일때의 규칙성이 나타난다. 2020. 3. 15.