전체 글 100

[백준/c++] 1012 - 유기농 배추

https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 1) 풀이 요거는 이전에 풀었던 '그림'문제와 똑같은 풀이 방식! 풀이 자체는 아래 글을 참고하면 될 것 같다. 2021.05.31 - [알고리즘 | 자료구조/백준] - [백준/c++] 1926 - 그림 [백준/c++] 1926 - 그림 https://www.acmicpc.net/problem/1926 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓..

[백준/c++] 1697 - 숨바꼭질

https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 1) 풀이 이전에 풀이했던 BFS 문제들과는 다르게, 이번엔 일차원 배열에서 행해지는 bfs 문제이다. 어떻게 보면 이차원 배열보다 비교적 간단하다고 할 수 있다. 수빈이와 동생이 위치하고 있는 지점은 배열의 인덱스로 생각하면 된다. 숨바꼭질하는 판(board)과 수빈이가 동생을 찾는 시간을 저장하는 배열을 따로 둘 필요없이 그냥 수빈이가 이동하는 좌표(인덱스)에 값으로..

[JavaScript] typeof 연산자

1) typeof 인수의 자료형을 반환해주는 typeof 연산자는 두가지 형태의 문법을 지원한다. 1) 연산자: typeof x 2) 함수: typeof (x) 괄호의 여부에 상관없이 결과는 동일하다. typeof undefined // "undefined" typeof 0 // "number" typeof 10n // "bigint" typeof true // "boolean" typeof "foo" // "string" typeof Symbol("id") // "symbol" 2) 각 타입별 typeof 연산자 결과 타입 자료형 결과 기본 타입 숫자 number 기본 타입 문자열 string 기본 타입 불린값 boolean 기본 타입 null object 기본 타입 undefined undefined..

웹/JavaScript 2021.06.05

[백준/c++] 4179 - 불!

https://www.acmicpc.net/problem/4179 4179번: 불! 입력의 첫째 줄에는 공백으로 구분된 두 정수 R과 C가 주어진다. 단, 1 ≤ R, C ≤ 1000 이다. R은 미로 행의 개수, C는 열의 개수이다. 다음 입력으로 R줄동안 각각의 미로 행이 주어진다. 각각의 문 www.acmicpc.net 1) 풀이 분명 예전에 푼 문제인데.. 왜 이렇게 어려운 걸까😂 예전에 한 번 풀고 다시 복습하고 있음에도 어려운 문제들이 너무 많다... 공부엔 끝이 읍다... 후. 아무튼, 이 문제 또한 BFS 문제인데 이건 두개의 BFS 탐색을 돌린다고 생각하면 된다. 하나는 1) 불의 이동, 하나는 2) 지훈이의 이동 이렇게 해서! 그럼 어떤 것을 먼저 탐색하느냐 가 중요한데, 이 문제에서 ..

[프로그래머스/c++] 체육복

https://programmers.co.kr/learn/courses/30/lessons/42862 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr 이 문제를 풀고 나서 다른 분의 풀이를 보고 나서 아..! 싶었다. 알고리즘을 몇 개 아는 지금 이 시점에서, 알고리즘 연습 문제는 어떻게든 풀 수 있다.. 그리고 내가 알고 있는 방법 내에서 충분히 효율적으로 풀 수 있음에도 지금의 나는 그냥 무작정 어떻게든 풀어내려는 게 습관화 되어있는 것 같다😥 앞으로는 효율을 생각해봐야지... 1) 풀이 별거 아닌 문제인데..

[백준/c++] 2178 - 미로 탐색

https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 1) 풀이 이 문제를 풀고 얻은 교훈이 있다면... 문제를 잘 읽자!!!! 😂 이 문제에서 진한 글씨로 강조된 부분이 있는데 난 문제를 대강 읽고 문제 풀는 데에 바빠서 강조되어있는줄도 몰랐다.... 이거 때문에 나처럼 헤매거나 틀리는 사람이 없었으면 좋겠다!! 이 문제는 내가 이전에 풀이해놨던 문제를 응용하면 된다! 미로의 제일 첫번째칸으로부터 마지막칸까지의 거리를 측정하는 문제라고 생각하면 되기 때문이다. 시작점에서부터 상하..

[백준/c++] 7576 - 토마토

https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 1) 풀이 BFS 문제 푸는 주간... 몽롱한 상태로 풀고 몽롱한 상태로 글을 쓰자니 약간 횡설수설할 수 있음에 주의하자! 이전에도 BFS 문제를 풀었으니 이 알고리즘에 대한 전반적인 풀이방법은 이전 글을 참고하자 2021.05.31 - [알고리즘 | 자료구조/백준] - [백준/c++] 1926 - 그림 이전 글과 다른 점이 있다면, 1) 탐색을 시작하는 지점이 여러 개이며 2) ..

[백준/c++] 1926 - 그림

https://www.acmicpc.net/problem/1926 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로 www.acmicpc.net 1) 풀이 BFS (너비우선탐색)을 이용하여 풀면 되는 문제다. BFS에 대한 설명은 아래 3) 참고자료를 참고하길 바란다. BFS 문제 중에서도 딱히 어려운 난이도는 아니라 그것만 안다면 쉽게 풀 수 있다! 여기에서 1로 연결된 것을 그림이라고 하는데, 그 그림의 개수와 그 중 가장 큰 넓이를 출력하면 된다. 1. 제일 먼저 탐색을 시작할 좌표를 찾는다. (값이 1인 좌표를 찾아서 시작해야 한다) 2..

[백준/c++] 2217 - 로프

https://www.acmicpc.net/problem/2217 2217번: 로프 N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하 www.acmicpc.net 1) 풀이 이 문제가 '그리디 알고리즘'과 관련된 문제라고 하던데.. 사실 난 그런 알고리즘 모른다😂 나중에 시간 날 때 찾아보고 정리해놔야지...(이러고 안 적은게 수십개.. 부지런해지자ㅠ~) 이 문제에서 고민해봐야 할 조건은 두 가지 1) 모든 로프를 사용해야 할 필요는 없으며, 임의로 몇 개의 로프를 골라서 사용해도 된다. 2) k개의 로프를 사용해 중량 w를 들어올리면 각 로프에 ..

[c++] vector<int>v(n) 과 vector<int>v[n]의 차이

※배워가고 있는 학생입니다. 틀린부분이 있다면 댓글로 알려주세요! 오늘 공부를 하다가 새롭게 알게 된 사실👀을 정리해보려고 한다. 사실 vector 자료형에 대해서 알고 응용해서 쓴지는 꽤 됐는데, 내가 이런 기본적인? 사실조차 몰랐다니 조금 놀랐다. 1) vector v(n) vectorv(n)은 사이즈 n만큼 0으로 초기화되어 있는 벡터를 선언한다는 의미다. 즉, n크기만큼의 벡터 배열을 생성하고 동시에 각 인덱스에 들어있는 값을 0으로 초기화한다는 것이다. 각 인덱스에 입력값이 주어지지 않는다면 0으로 그대로 출력된다. vector v(2); //0,0 v.push_back(5); //0,0,5 v.push_back(2); //0,0,5,2 cout

그외/C++ 2021.05.26
728x90