728x90
반응형

분류 전체보기 221

[백준/구현/C++] 21608번 상어 초등학교 (삼성 SW 역량 테스트 기출) *

https://www.acmicpc.net/problem/21608 21608번: 상어 초등학교 상어 초등학교에는 교실이 하나 있고, 교실은 N×N 크기의 격자로 나타낼 수 있다. 학교에 다니는 학생의 수는 N2명이다. 오늘은 모든 학생의 자리를 정하는 날이다. 학생은 1번부터 N2번까지 번호 www.acmicpc.net 일단 머리로 시뮬레이션을 돌려봤는데 내가 생각한 방법으로는 무조건 시간초과가 나올 것 같아서 블로그를 참조했다. https://yabmoons.tistory.com/656 이 블로그를 봤는데 생각도 못한 구조체랑 필요에 맞게 조건을 만들어서 정렬하는 등 배울게 많았다. 다시 풀어보면서 공부해야겠다. 문제 해결 방법 먼저 구조체 두개를 선언한다 학생정보(STUDENT), 자리 배치를 위해..

[백준/구현/백트래킹/C++] 15686번 치킨배달 (삼성 SW 역량 테스트 기출)

https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net 문제 해결 방법 처음에 도시의 정보를 입력받을 때 1일때는 vector h에, 2일때는 vector ch에 좌표를 넣어준다 if(x==1) h.push_back({i,j}); // 집인 경우 else if(x==2) ch.push_back({i,j}); // 치킨집인 경우 그리고 전체 치킨집의 수와 m을 비교하여 조건을 나눠서 구현했다 1. 치킨집의 수가 m보다 클때 ( 전체..

[Git Blog] 깃블로그 만들기 (github.io)

1. 새로운 Repository 생성 username.github.io 형식으로 만들어 준다 옵션은 기본으로 선택해 주고 생성한다 새로운 repository 생성! 2. Repository clone 생성하기 초록색 Code 버튼을 눌러서 HTTPS 주소를 복사한다 그리고 터미널을 열어 clone하고싶은 폴더에 아래 명령어를 입력한다 git clone 복사한 주소 미리 만들어 둔 폴더에 git clone 을 실행했다 3. Clone 한 폴더에 index.html 파일 생성 cd username.github.io echo "Hello World" > index.html 명령창에 위 명령어를 쳐서 index.html을 만든다 그러면 폴더에 파일이 생성되고 파일을 실행시키면 위와같은 창이 뜬다 4. 생성한 파..

Git 2023.01.18

[Git] Git 설치하기 (Windows)

cmd 에 git 관련 명령어를 입력했을때 'git'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 가 뜬다면 git 이 설치되어있지 않기 때문이다. https://git-scm.com/download/win Git - Downloading Package Download for Windows Click here to download the latest (2.39.1) 32-bit version of Git for Windows. This is the most recent maintained build. It was released about 15 hours ago, on 2023-01-17. Other Git for Windows downloads Standalon..

Git 2023.01.18

[백준/구현/C++] 13458번 시험 감독 (삼성 SW 역량 테스트 기출)

https://www.acmicpc.net/problem/13458 13458번: 시험 감독 첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다. 셋째 줄에는 B와 C가 주어진다. (1 ≤ B, C ≤ 1,000,000) www.acmicpc.net #include using namespace std; int n, b, c; int a[1000001]; long long int result; int main(void) { ios::sync_with_stdio(0); cin.tie(0); cin >> n; for(int i=0; i> a[i]; } cin >> b >> c; result ..

[백준/구현/백트래킹/C++] 1759번 암호 만들기

https://www.acmicpc.net/problem/1759 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net 문제 해결 방법 1. 입력받은 문자들을 정렬한다 2. 이전 인덱스를 저장해서 다음 인덱스를 고를수 있게한다 3. 자음의 수와 모음의 수 저장한다 자음과 모음의 구별은 위 사진처럼 생각해서 아래 코드처럼 구현했다. 모음인 경우 m+1, 자음인 경우 j+1 int diff = alpha[i]-'a'; if(diff==0 || diff==4 || diff==8 || diff==14 || diff==20) /..

[백준/구현/C++] 14500번 테트로미노

https://www.acmicpc.net/problem/14500 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변 www.acmicpc.net 문제 해결 방법 이 문제는 T모양과 나머지 모양을 따로 구현했다. 각 모양마다 구한 코드도 있었는데 나는 두가지 방법으로만 구현했다. 1. T제외 4가지 모양 구하기 (make() 함수) 이건 백트래킹을 사용해서 구현했다. 상하좌우를 탐색하며 범위가 넘어갔을때는 제외하고 4칸째일때 4수의 합과 최대값을 비교한다 // x좌표, y좌표, 칸들의 합, 몇번째 방문한 칸인지 void make(int x,..

[백준/백트래킹/C++] 15661번 링크와 스타트 *

https://www.acmicpc.net/problem/15661 15661번: 링크와 스타트 첫째 줄에 N(4 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에 S가 주어진다. 각 줄은 N개의 수로 이루어져 있고, i번 줄의 j번째 수는 Sij 이다. Sii는 항상 0이고, 나머지 Sij는 1보다 크거나 같고, 100 www.acmicpc.net 계속 시간초과가 떠서 찾아봤는데 팀을 구성할 때 스타트팀 : 1,2 링크팀 : 3,4 일때와 스타트팀 : 3,4 링크팀 : 1,2 일때 두번 구해져서 그런 것이었다 void makeTeam(int tot){ if(tot == n){ compare(); return; } isStartTeam[tot] = true; // tot번의 선수가 start팀에 있..

[백준/수학/C++] 17425번 약수의 합

https://www.acmicpc.net/problem/17425 17425번: 약수의 합 두 자연수 A와 B가 있을 때, A = BC를 만족하는 자연수 C를 A의 약수라고 한다. 예를 들어, 2의 약수는 1, 2가 있고, 24의 약수는 1, 2, 3, 4, 6, 8, 12, 24가 있다. 자연수 A의 약수의 합은 A의 모든 약수를 더 www.acmicpc.net #include using namespace std; long long int f[1000001] = {0,}; long long int g[1000001] = {0,}; int main(void) { ios::sync_with_stdio(0); cin.tie(0); int n=1000000; int j = 1; for (int i = 1; i

728x90
반응형