목록분류 전체보기 (591)
어흥
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/diMHX0/btqKVPszqOv/B8kdl0HK2tizLkaRUDa4c0/img.png)
1. ==, isEqual - 원시 타입에선 '=='를 사용하여 값 비교 - 포인터 타입에선 '=='를 사용하여 주소값 비교(같은 객체인가?) - isEqual : 내용 비교 NSString *str1 = @"abcd"; NSString *str2 = [NSString stringWithFormat:@"ab%@",@"cd"]; NSString *str3 = @"abcd"; NSString *str4 = str3; NSLog(@"%@ %@ %@ %@",str1,str2,str3,str4); // abcd abcd abcd abcd str1==str2 ? NSLog(@"같다") : NSLog(@"다르다"); //다르다 str1==str3 ? NSLog(@"같다") : NSLog(@"다르다"); //같다 st..
문제 링크: www.acmicpc.net/problem/8911 8911번: 거북이 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 컨트롤 프로그램이 주어진다. 프로그램은 항상 문제의 설명에 나와있는 네가지 명령으로만 이루어져 www.acmicpc.net 1. 주의할 점 - 시작은 0,0이고 북쪽방향을 보고 있다 2. 구현 - 시작점, 시작방향 그리고 최대 X,Y와 최소 X,Y를 전부 0으로 초기화한다 - 방향을 전환하는 경우에는 X,Y의 최대최소를 구하지 않아도 된다 #include #include #include using namespace std; int dx[4] = { 0,1,0,-1 }; int dy[4] = { -1,0,1,0 }; int main..
문제 링크: www.acmicpc.net/problem/1965 1965번: 상자넣기 정육면체 모양의 상자가 일렬로 늘어서 있다. 상자마다 크기가 주어져 있는데, 앞에 있는 상자의 크기가 뒤에 있는 상자의 크기보다 작으면, 앞에 있는 상자를 뒤에 있는 상자 안에 넣을 수가 �� www.acmicpc.net 1. 주의할 점 - DP를 이용하여 푼다 2. 구현 - 현재 상자를 기준으로 왼쪽에 위치한 상자들만 생각한다 - 현재 상자보다 크기 작으면서, DP[] 값이(들어갈 수 있는 상자의 수) 가장 큰 수를 Maxi에 저장한다 - Maxi+1을 현재 상자번호에 해당하는 DP[] 배열에 할당한다. 할당 이후, Result의 값과 비교하여 최대값을 Result에 저장하도록 한다 #include #include u..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bwIbq8/btqKkOumXCK/zkgpIBjtN4kpRsflB4tyD0/img.png)
[OSI 7 계층] 1. 각 계층의 역할 - 전송 계층 TCP: 어플리케이션 계층 메세지 전달 보장, 오류 검출, 흐름제어(송수신자의 속도 일치), 혼잡제어(긴 메세지를 짧게 나눈다-> 네트워크 혼잡시 출발지의 전송속도 줄인다) UDP: 신뢰성, 흐름제어, 혼잡제어 제공X, 오류 검출, 프로세스간 데이터 전달 제공 - 네트워크 계층: 논리 주소 지정, 라우팅 - 데이터링크 계층: 오류제어, 순서제어, 흐름제어 2. 데이터 단위 - 응용 프로그램: 메세지(Message) - TCP/ UDP 통신: 세그먼트(Segment) - 네트워크: 데이터그램(Datagram) - 데이터링크: 프레임(Frame) - 물리: 비트(Bit) 3. 기본적인 용어 - Node: 컴퓨터 네트워크상에 연결된 장치 - Host: 고..
문제 링크: www.acmicpc.net/problem/1800 1800번: 인터넷 설치 첫 번째 줄에 N(1 ≤ N ≤ 1,000), 케이블선의 개수 P(1 ≤ P ≤ 10,000), 공짜로 제공하는 케이블선의 개수 K(0 ≤ K < N)이 주어진다. 다음 P개의 줄에는 케이블이 연결하는 두 컴퓨터 번호와 그 가격이 차 www.acmicpc.net 1. 주의할 점 - 이분탐색 + 다익스트라를 이용하여 문제를 해결한다 2. 구현 - 2가지의 방법으로 풀었으며, 다익스트라는 우선순위큐를 활용하여 푸는 방법이 훨씬 빠르다 - Result의 값은 -1로 초기화한다(N번 컴퓨터까지 도달하지 못할 경우를 대비) - Dijkstra() 함수만 바뀐다 - 메인 함수에서 케이블선에 대한 정보를 받을 때, 케이블선의 최..
문제 링크: www.acmicpc.net/problem/6443 6443번: 애너그램 N개의 영단어에 대한 모든 가능한 애너그램을 출력한다. 각각의 영단어에 대한 애너그램을 출력할 때, 알파벳 순서로 중복되지 않게 출력한다. www.acmicpc.net 1. 주의할 점 - 문자열의 길이가 최대 몇인지 모른다 -> 배열을 이용해서 풀기 애매하다 - 문자열의 길이가 최대 몇인지 모르므로 Set을 사용하기 애매하다 -> TLE나 메모리초과가 날 수도 있다 2. 구현 - 그리디를 통해 접근한다 - 문자열을 입력받을 때, Sort 작업 수행과 Len을 설정한다 - DFS() 함수를 통해 idx가 문자열 길이-1일때 문자열을 출력한다 - For문을 통해 현재 바꾸려고 하는 위치의 문자와 다른 문자가 같은 숫자라면 ..
문제 링크: www.acmicpc.net/problem/1175 1175번: 배달 어제 선물을 모두 포장한 민식이는 이제 선물을 배달하려고 한다. 민식이가 선물을 배달할 곳은 이 문제를 읽는 사람들이 앉아 있는 교실이다. 교실은 직사각형모양이고, 모두 같은 크기의 정사 www.acmicpc.net 1. 주의할 점 - 4차 배열을 사용하여 해당 지점에(y,x) 직전에 어떤 방향으로 도착했으며(dir), 현재까지 배달을 완료한 장소(del: 단, 장소를 구분해야 하므로 한곳: +1, 다른곳: +2) -> 비트마스킹이라고 생각하면 된다 - 구조체를 사용하여 현재 위치, 방향, 현재까지 배달을 완료한 장소, 현재까지의 이동거리를 저장한다 2. 구현 - 배달을 해야하는 장소(C)를 Deliver 벡터에 저장한다 ..
문제 링크: www.acmicpc.net/problem/11451 11451번: 팩맨 각 테스트 케이스에 대해서 정답을 한 줄에 출력한다. 만약 가능할 경우, 팩맨을 조작해야 하는 최소 횟수를 출력한 후, 그 다음에 조작해야 하는 방향을 순서대로 {N, E, S, W}를 사용하여 출력한�� www.acmicpc.net 1. 주의할 점 - 경로를 기억해야 한다 - BFS를 통해 진행하며, 팩맨 2가지의 위치를 한번에 저장하고 있는 구조체를 사용한다 - "귀신과 부딪힌다 -> 라이프가 1 깍인다" : 이 문구가 의미하는 것은? - "두 번째 팩맨" -> 이 문제와 상관이 없다. 불충분한 조건 or 낚시를 하다 만것 2. 구현 - "귀신과 부딪힌다 -> 라이프가 1 깍인다" : 이 문구는 낚시다. 귀신과 부딪..