본문 바로가기
728x90
반응형

분류 전체보기190

C의 문자열 복사 java나 C++같은 경우 문자열 복사를 수행할 때 += 이라는 연산자를 활용하여 가능합니다. 그러나 C언어의 경우 문자열 복사를 수행할 때 += 연산자를 사용할 수 없습니다. 또한 입력하고자 하는 문자열의 길이를 알지 못하면 해당 값을 저장할 수 없습니다. java의 경우 String s = ""; String c1 = "1"; s += c1; System.out.print(s); 이런식으로 가능하지만, C의 경우 char *c1 = "1"; char ch[strlen(c1) + 1]; strcpy(ch, c1); printf("%s", ch); 이런식으로, 저장할 문자열의 길이를 저장한 이후, strcpy를 통해 값을 복사합니다. 이후에 다른 문자열을 추가할 경우에는 strcat을 통하여 값을 추가할.. 2024. 4. 21.
문자열 다루기 자바를 활용해서 코드를 작성하다보면 여러번 값을 출력해야 하는 경우가 발생합니다. 이럴 경우 여러번 모두 해당 형식처럼 작성하게 됩니다. for(int i = 0; i < n; i++){ System.out.print(i + " "); } 이럴 경우, 많은 시간을 출력하는데 소요되게 됩니다. 여러번 출력해야 하는 경우 보통 StringBuilder를 선언하여 사용합니다. StringBuilder sb = new StringBuilder(); for(int i = 0; i < n; i++){ sb.append(i).append(" "); } System.out.print(sb); 해당 형식으로 출력하게 되면, 마지막에 공백이 포함되게 됩니다. 그런 경우 .trim()으로도 처리가 가능하지만, 더 좋은 방법.. 2024. 4. 14.
객체 비교 자바에는 다양한 비교 라이브러리들이 존재합니다. 그 중, 객체(문자열) 비교 함수로 equals를 주로 사용합니다. 그러면서 만나는 불편한점 해소 및 잘못사용하고 있었던 방식에 대해 이야기해보고자 합니다. 불편한 점 문자열 비교를 위하여 equals를 사용하다보면, 대문자와 소문자 구별을 못하는 경우가 발생합니다. String s = "abc"; System.out.print(s.equals("ABC")); false String s = "ABC"; System.out.print(s.equals("abc")); false 이럴 경우 보통 저희는 이런식으로 대처합니다. 소문자로 비교하면 비교 대상을 소문자로, 대문자로 비교하면 비교 대상을 대문자로 변경 후 비교하게 됩니다. String s = "ABC";.. 2024. 4. 2.
[백준] 18185번 : 라면 사기 https://www.acmicpc.net/problem/18185 18185번: 라면 사기 (Small) 라면매니아 교준이네 집 주변에는 N개의 라면 공장이 있다. 각 공장은 1번부터 N번까지 차례대로 번호가 부여되어 있다. 교준이는 i번 공장에서 정확하게 Ai개의 라면을 구매하고자 한다(1 ≤ i www.acmicpc.net 효율적으로 라면을 사는 방법을 구하는 문제입니다. 3 1 0 1 으로 들어 오게 될 경우 1,3번에서 3의 cost로 라면을 살 수 밖에 없어 6이 되게 됩니다. 5 1 1 1 0 2 으로 들어오게 될 경우 1,2,3에서 7의 cost로 살 수 있고, 5에서 3의 cost로 2번 살 수 있어 총 13의 cost를 사용하여 라면을 살 수 있습니다. 해당 입력만 보고 풀게 된다면 소.. 2024. 3. 21.
728x90
반응형