본문 바로가기

분류 전체보기105

11279_최대 힙 ▶실버 2 풀이 결론적으로 최댓값을 구하는 것이기 때문에 우선순위 큐를 이용한다. 연산 값이 0이며 우선순위 큐가 empty가 아닐 경우 pop, 연산 값이 양수일 경우 push 코드 #include #include #include #include #include #include using namespace std; priority_queue pq; int main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n; cin >> n; for (int i = 0; i > x; if (x == 0) { if (pq.empty()) { cout 2023. 2. 3.
[React] 삼항연산자 & map() 삼항연산자 react의 render부분에서는 if문을 쓸 수 없기 때문에 삼항연산자로 대신한다. // 삼항 연산자 function App() { const [loading, setLoading] = useState(false); return ( { loading ? 로딩중 ... : null } ); } //loading 이 true일 경우 '로딩중 ...', false일 경우 null map() for문을 대신하여 array.map() 사용 // map function App() { const arr = [1, 2, 3]; return ( { arr.map((i) => { return i })} ); } 2023. 2. 2.
[React] ver. 17 & 18 // ver. 17 // ver. 18 2023. 2. 2.
10799_쇠막대기 ▶실버2 문제 풀이 stack 이용 '()' => 레이저 제일 위에 있는 막대기는 ')' 가 나오기 전까지 레이저로 자를 수 있음 ※ 막대가 끊겨도 레이저를 쏘면 한 조각으로 치기 때문에 ')' 이 나온다고 해서 무작정 pop하면 안됨 즉, 1 : '('는 push 하고, 2 : ')'일 경우 레이저인지 쇠 막대기인지 확인 후 2-1: 쇠 막대기면 cnt(쇠 막대기의 오른쪽 끝 점 개수) 증가 2-2: 레이저이면 stack의 크기(쇠 막대기의 왼쪽 끝 점 개수)만큼 더한 후, cnt(쇠 막대기의 오른쪽 끝 점 개수) 만큼 pop해준 후 cnt 초기화 3: 반복문 다 돌린 후 마지막으로 cnt 더해 줌 코드 #include #include #include #include #include using name.. 2023. 2. 2.
17478_재귀함수가 뭔가요? ▶실버5 풀이 재귀함수 문제. 조건에 상관없이 재귀함수에서 항상 실행되는 문장은 "재귀함수가 뭔가요?" i 가 아직 n에 도달하지 않았을 때 실행될 문장은 "잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어. 마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지. 그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어." i가 n에 도달했을 때 실행될 문장은 "재귀함수는 자기 자신을 호출하는 함수라네" "라고 답변하였지." 마지막으로 재귀함수가 닫힌 후 실행될 문장은 "라고 답변하였지." 코드 #include #include #include #include using namespace std; void rec(.. 2023. 1. 22.
2156_포도주 시식 ▶실버1 풀이 연속으로 3잔을 마실 수 없으므로 2잔을 연속으로 마시면 한 잔은 쉬어야 하는데, 최대의 합을 내기 위해서는 연속 두 잔 이상을 마시지 않으면 안된다. 즉, 1번 잔을 마셨으면 꼭 2번 잔을 마시거나 3번 잔을 마셔야 한다. 2번과 3번을 모두 마시지 않으면 최대 값을 낼 수 없다. 이 점을 참고! 예제에서 5번째 잔까지만 표로 나타내면 6 10 13 9 8 여기서 모든 경우의 수는 (1, 2, 4, 5) (2, 3, 5) (1, 3, 4) 이다. ① (1, 2, 4, 5) => dp[2] + arr[4] + arr[5] ② (2, 3, 5) => dp[3] + arr[5] ③ (1, 3, 4) => dp[4] 이를 점화식으로 나타내면 dp[i] = max({ dp[i - 3] + arr[.. 2023. 1. 16.