c++

📕문제 https://www.acmicpc.net/problem/11967 11967번: 불켜기 (1, 1)방에 있는 스위치로 (1, 2)방과 (1, 3)방의 불을 켤 수 있다. 그리고 (1, 3)으로 걸어가서 (2, 1)방의 불을 켤 수 있다. (2, 1)방에서는 다시 (2, 2)방의 불을 켤 수 있다. (2, 3)방은 어두워서 갈 수 없으 www.acmicpc.net 🔎문제설명 bfs 문제에서 조금 변형이 있는 문제입니다. 스위치를 켜면 해당 방으로 이동할 수 있는 것이 아닌, 스위치를 켜고 스위치로 이동가능한지 여부를 판단해야 하는 문제입니다. 다른 bfs문제처럼 바로바로 큐에 넣는 것이 아닌 여부를 판단하고 큐에 넣어야 하기에 헷갈릴 여지가 있다고 생각합니다. 주의할 점은 (1,1)은 원래 불이 ..
📕문제 https://school.programmers.co.kr/learn/courses/30/lessons/17677 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔎문제 설명 두 문자열을 2개로 끊어서 집합을 생성한 후 교집합과 합집합을 구해서 유사도를 구하는 문제이다. 문제의 주요 특징은 다음과 같다. 문자열을 2개씩 끊어서 하나의 원소로 만든다. "알파벳"만 원소로 만들 수 있다. 숫자, 공백, 특수문자가 포함된 경우 버린다. 알파벳은 대 소문자의 차이를 무시한다. 원소의 중복을 허용한다. 원소의 중복..? 말이 조금 어려운데 예시를 들면 쉽게..
📕문제 https://school.programmers.co.kr/learn/courses/30/lessons/60057 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔎문제 풀이 문자열을 이용한 구현 문제입니다. 문제가 굉장히 길지만, 요약하자면 주어진 문자열을 N개 단위로 잘라서, 가장 짧은 문자열로 만들 자입니다. 그러면 각 N개마다 자른 문자열의 길이를 비교하면 되는 문제입니다. 여기서 중요한 점은 문자열의 길이가 N이라면, N/2까지만 검사합니다. 만약 N/2를 넘어서 자르게 된다면 당연히 압축이 안 되겠죠?? 그래서 저는 1개~N/2개까지 잘랐..
📕문제 https://school.programmers.co.kr/learn/courses/30/lessons/42890 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔎문제 풀이 해당 문제를 풀 기전에 유일성과 최소성을 설명하고자 합니다. 💡유일성? 릴레이션에 있는 모든 튜플에 대해 유일하게 식별되어야 한다. 위 테이블에서 칼람을 유일하게 식별할 수 있다면, 그 칼럼은 유일성이 있다고 합니다. 학번을 보면 모든 값들이 다 다른 것을 알 수 있습니다. 따라서 해당 테이블에서 학번을 통해서 유일하게 식별할 수 있습니다. 이러한 칼럼 학번은 유일성을 만족한다..
📕문제 https://school.programmers.co.kr/learn/courses/30/lessons/17678 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔎문제 풀이 우선 문제 이해하는데 조금 오래 걸렸습니다. 제가 이해한 내용을 설명하자면, 변수 n, t, m이 있습니다. n은 운행하는 버스의 수, t= 배차 간격, m= 탑승할 수 있는 인원의 수입니다. timetable은 이제 기다리는 크루원들의 도착시간입니다. 그림이 이상하더라도 양해 부탁합니다.. ㅎ 🙏 위 그림은 입출력예제 1번입니다. 여기서 가장 기본이 되는 정보는 09:00에 ..
📕문제 https://school.programmers.co.kr/learn/courses/30/lessons/135807 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔎문제 풀이 양수 a가 될 수 있는 조건은 2가지 있습니다. 철수가 가진 카드들을 전부 나눌 수 있고, 영희가 가진 모든 카드를 나눌 수 없어야 합니다. 영희가 가진 카드들을 전부 나눌 수 있고, 철수가 가진 모든 카드를 나눌 수 없어야 합니다. 그렇다면 a의 후보는 철수가 가진 약수이거나, 영희가 가진 약수여야 합니다. 이때 각 약수들은 상대방들의 약수가 되어서는 안 됩니다. 풀이 방식..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 정말 단순한 구현 문제입니다. 이런 구현 문제는 문제를 차근차근 읽어가면서, 파악하고 최종 입력과 결과를 바탕으로 생각해 주면 편합니다. 해당 문제도 문제가 엄청 길지만 요약하면 엄청 간단하다. 4가지의 유형이 있다. 각 지표별로 점수를 계산해서 더 높은 알파벳의 유형을 선택한다. 예를 들어서 설문조사가 끝나고, 1번 지표에서 R이 3점, T가 2점이면 R이 선택된다. 한가지 주..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/118667 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 두 집합은 큐라는 특성을 가지고, 두 집합의 원소의 합이 서로 같아질 때까지 몇 번 연산해야 하는지 구해야 합니다. 여기서 연산은 pop과 insert 한번입니다. 우선 설명을 쉽게 하기 위해서 queue1을 F, queue2를 S, queu1의 원소합을 f, queue2 원소의 합을 s라고 하겠습니다. 당연하게도! F와 S의 합이 홀수라면 절대로 두 집합의 합은 같아질 수가 없..
📕문제 https://www.acmicpc.net/problem/2533 2533번: 사회망 서비스(SNS) 첫 번째 줄에는 친구 관계 트리의 정점 개수 N이 주어진다. 단, 2 ≤ N ≤ 1,000,000이며, 각 정점은 1부터 N까지 일련번호로 표현된다. 두 번째 줄부터 N-1개의 줄에는 각 줄마다 친구 관계 트리의 에 www.acmicpc.net 🔎문제설명 모든 사회망 구성원들이 아이디어를 받아들일 수 있게끔 하기 위해 필요한 최소한의 얼리어답터의 개수를 구해야 한다. A가 얼리어답터가 되기 위해서는, A의 친구들이 모두 얼리어답터여야 합니다. 즉 A와 연결된 모든 정점들이 얼리어답터여야합니다. 기본적인 DFS는 리프노드까지 진행한 후 과정을 진행하기에, 리프노드에서부터의 작업을 진행해야 합니다. ..
재한
'c++' 태그의 글 목록