본문 바로가기
728x90
반응형

문자열6

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.
[백준] 30403번 : 무지개 만들기 https://www.acmicpc.net/problem/30403 30403번: 무지개 만들기 무지개 문자열은 R(빨간색), O(주황색), Y(노란색), G(초록색), B(파란색), I(남색), V(보라색) 순으로 이루어진 문자열이며, 대소문자를 구분하지 않는다. 임스는 춘배에게 영어 대소문자로 이루어진 www.acmicpc.net 주어진 문자열을 활용해서 무지개(ROYGBIV)을 만들 수 있는지 체크하는 문제입니다. 단, 소문자인지 대문자인지 가능한지 체크한 후에 따라 결과를 다르게 하면 됩니다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { pu.. 2023. 11. 1.
728x90
반응형